如何使用charles對(duì)Android Https進(jìn)行抓包

Charles.png

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

原理

man-in-the-middle.png

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

如何使用

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


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


    信任證書
  3. 給手機(jī)安裝證書
    打開Charles,在Menu選擇Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser,彈出提示框,如圖:

    提示框.png

    安裝提示進(jìn)行配置,需要注意的是192.168.0.101是我演示時(shí)候的IP,你要改成你自己的IP地址。IP配置之后用手機(jī)瀏覽器打開http://charlesproxy.com/getssl 下載證書。如果是Android設(shè)備,選擇設(shè)置->從儲(chǔ)存設(shè)備安裝。

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

參考資料

SSL PROXYING
SSL CERTIFICATES

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容