
Charles.png
charles是一款在Mac下常用的截取網絡封包工具,對Android Http進行抓包,只要對手機設置代理即可,但對Android Https進行抓包還是破費一些功夫,網上的資料解釋的也不清楚,今天在這里總結一下,希望對同樣遇到問題的朋友帶來一些幫助。
原理

man-in-the-middle.png
Charles實現對Https進行抓包,使用的原理就是中間人技術(man-in-the-middle)。Charles會動態生成一個使用自己根證書簽名的證書,Charles接收web服務器的證書,而客戶端瀏覽器/客戶端 接收Charles生成的證書,以此客戶端和Charles之間建立Https連接,Charles和Web服務器之間建立Https連接,實現對Https傳輸信息的抓包。如果Charles根證書不被信任則無法建立Https連接,所以需要添加Charles根證書為信任證書。
如何使用
-
給Mac安裝證書。
打開Charles,在Menu選擇SSL Proxying > Install Charles Root Certificate,Keychain Access(鑰匙訪問串)被打開,我們可以看到Charles Certificate已經被安裝,如圖:
Charles Certificate被安裝.png -
信任證書
但此時該證書並沒有被信任,雙擊該行彈出證書詳情,選擇“Always Trust”。
信任證書 -
給手機安裝證書
打開Charles,在Menu選擇Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser,彈出提示框,如圖:提示框.png
安裝提示進行配置,需要注意的是192.168.0.101是我演示時候的IP,你要改成你自己的IP地址。IP配置之后用手機瀏覽器打開http://charlesproxy.com/getssl 下載證書。如果是Android設備,選擇設置->從儲存設備安裝。 -
開啟SSL代理功能
在Menu選擇Proxy->SSL Proxying Setting,選中Enable SSL Proxying,在Locations里面添加要使用SSL代理的網站,端口號輸入443,如果需要匹配所有的HTTPS網站則輸入 * 號即可。現在即可攔截Https的數據包。
參考資料
可以隨意轉發,也歡迎關注我的簡書,我會堅持給大家帶來分享。
小禮物走一走,來簡書關注我
贊賞支持
2017.06.21 17:44
回復
添加新評論