如何使用charles對Android Https進行抓包

Charles.png

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

原理

man-in-the-middle.png

Charles實現(xiàn)對Https進行抓包,使用的原理就是中間人技術(man-in-the-middle)。Charles會動態(tài)生成一個使用自己根證書簽名的證書,Charles接收web服務器的證書,而客戶端瀏覽器/客戶端 接收Charles生成的證書,以此客戶端和Charles之間建立Https連接,Charles和Web服務器之間建立Https連接,實現(xiàn)對Https傳輸信息的抓包。如果Charles根證書不被信任則無法建立Https連接,所以需要添加Charles根證書為信任證書。

如何使用

  1. 給Mac安裝證書。
    打開Charles,在Menu選擇SSL Proxying > Install Charles Root Certificate,Keychain Access(鑰匙訪問串)被打開,我們可以看到Charles Certificate已經(jīng)被安裝,如圖:


    Charles Certificate被安裝.png
  2. 信任證書
    但此時該證書并沒有被信任,雙擊該行彈出證書詳情,選擇“Always Trust”。


    信任證書
  3. 給手機安裝證書
    打開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設備,選擇設置->從儲存設備安裝。

  4. 開啟SSL代理功能
    在Menu選擇Proxy->SSL Proxying Setting,選中Enable SSL Proxying,在Locations里面添加要使用SSL代理的網(wǎng)站,端口號輸入443,如果需要匹配所有的HTTPS網(wǎng)站則輸入 * 號即可。現(xiàn)在即可攔截Https的數(shù)據(jù)包。

參考資料

SSL PROXYING
SSL CERTIFICATES

可以隨意轉發(fā),也歡迎關注我的簡書,我會堅持給大家?guī)矸窒怼?/p>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容