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


 
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根證書為信任證書。

 

如何使用

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


     
    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代理的網站,端口號輸入443,如果需要匹配所有的HTTPS網站則輸入 * 號即可。現在即可攔截Https的數據包。

參考資料

SSL PROXYING
SSL CERTIFICATES

可以隨意轉發,也歡迎關注我的簡書,我會堅持給大家帶來分享。

小禮物走一走,來簡書關注我

贊賞支持
 
 工具

Web note ad 1

 
  
 

 

 
  http://www.jianshu.com/p/ecd065ac0440按這個教程安卓小米安裝成功了

 

2017.06.21 17:44   回復


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM