1. 環境
- macOS 10.15.7
- google chrome 112.0.5615.137
- charles 4.6.3
- 微信 PC 客戶端 3.7.1
2. 問題
在使用charles抓包時,對於ssl通訊的網站,是不能直接抓到有效信息的。在charles會提示證書不被信任等。 另外一個問題,如果要抓本地運行程序的數據包,如微信桌面版,還要做一個小修改。
3. 解決
3.1 抓不要電腦應用數據的問題
首先要修改微信客戶端的代理設置,如圖
注意,這裏填寫的IP,不能寫127.0.0.1,雖然都是運行在本機網絡,填寫127.0.0.1的數據包不會通過charles。 截圖的填寫的代理IP是charles獲取,也就是本機的私網IP,獲取方法如圖
同時,修改電腦的網絡設置裏的代理配置,不知道charles是不是這裏有bug,它默認會設置代理IP是127.0.0.1,這樣也導致抓取數據失敗,如:微信裏打開的小程序,估計是沒有走微信客戶端的代理配置的,仍是走的全局系統的代理設置。所以要保持IP一致一併修改,端口默認是8888不用改。
這樣配置之後,就可以抓取本機應用,如微信的通訊數據包了。
3.2 證書問題
在macOS下證件不被信任的問題,需要電腦上對charles root證書授權完全信任即可。
首先安裝charles root證書,如圖
證書配置完全信任,如
經過上述配置後,即可抓到正確的通訊包了。