需求描述
在開發過程中,線上APP的http請求,多是https的。這給我們線上調試工作造成了不小的困擾。看到的都是類似下圖的亂碼:
接下來,我教大家如何使用Charles,抓取明文的https數據包。
親測有效。
保證手機和電腦處於同一個網絡
在Charles端進行SSL Proxying 設置
Proxy -> SSL Proxying Settings -> SSL Proxying -> Add
- Host:爲需要過濾的域名地址,*表示不過濾
- Port:固定爲443,*表示任意端口
查看電腦IP
Charles -->Help–> Local Ip Address
手機添加代理
電腦端安裝ssl證書
添加完畢後,在電腦端可以看到已經安裝的證書:
保存一份證書到電腦端
文件名爲:charles-ssl-proxying-certificate.pem
發送證書到手機端
可以直接使用數據線,或者使用傳輸工具,如AirDroid
手機端安裝證書
記得憑據用途–選擇“WLAN”
查看抓包數據
我們看到,https的接口返回的響應數據,已經明文展示出來了。
環境說明
- 手機型號:堅果Pro2
- Android版本:
V7.1.1
- PC OS:
macOS High Sierra V10.13.4
- Charles版本:
V4.1.1