今天來介紹如何用 Charles 攔截手機流量,由於不同使用方式
在手機上攔截HTTPS ,需要在手機上安裝憑證,iOS 上要授權憑證步驟就比較繁瑣
電腦與手機同網段情況(使用同個 Gatewaye)
步驟1 : IOS 設定 ➜ W-Fi ➜ 選擇連線的SID名稱(我連的是 Lamb-Mei-AP)➜設定代理伺服器
步驟2:設為手動,伺服器 (填上剛剛查詢電腦的IP),Port 輸入 8888
8888 為 Charles 預設port
由於Charles 有安全信任機制,必須授權連線,才允許使用,所以在這點擊『Allow』允許連線
這時候就可以看到 Charles 可以攔截到手機使用網路的記錄
MAC 有個很好用的功能『Internet 共享』,可以直接分享網路給其他裝置使用
系統偏好設定 ➜ 共享 ➜ 勾選『 Internet 共享 』
步驟1:iOS 設定 ➜ W-Fi ➜ 選擇連線的SID名稱 ( 記憶路由器IP 通常是 192.168.2.1 ) ➜ 設定代理伺服器
步驟2:設為手動,伺服器 (填上剛剛查詢路由器IP),Port 輸入 8888
設定完,手機瀏覽的封包,即可被 Charles 攔截。
瀏覽HTTPS 的時候會發現是亂碼,明明電腦已經裝了 CA 憑證了
原因是客戶端(手機)內必須信任 Charles 憑證,才能解密
Help ➔ SSL Proxying ➔ Install Charles Root Certificate on a Mobile Device
會顯示該如何在手機上安裝憑證
網路設定好後,可以使用手機瀏覽器瀏覽 http://chls.pro/ssl
如前面設定正確會跳出下載描述檔
設定 ➔ 一般 ➔ 描述檔與裝置管理
點擊『安裝』安裝後狀態會變成已驗證
iOS10 以上手機版本,基於安全性更嚴謹的設計,需要在設定信任憑證
設定 ➔ 一般 ➔ 關於本機 ➔ 憑證信任設定
都設定完後,就可以攔截到 https 的資料
雖然簡簡單單幾個步驟,但是之前真的是很難搞清楚要用什麼方式連線,要怎麼設定才能攔截到
尤其經歷憑證信任一直改來改去,Android 在這裡就簡單很多,直接點ok 或者,從檔案就可以新增
在這裡撞了很多牆壁,也期望這些對大家友幫助