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

 
Charles.png

charles是一款在Mac下經常使用的截取網絡封包工具,對Android Http進行抓包,只要對手機設置代理便可,但對Android Https進行抓包仍是破費一些功夫,網上的資料解釋的也不清楚,今天在這裏總結一下,但願對一樣遇到問題的朋友帶來一些幫助。javascript

原理

 

 
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已經被安裝,如圖:html


     
    Charles Certificate被安裝.png
  2. 信任證書
    但此時該證書並無被信任,雙擊該行彈出證書詳情,選擇「Always Trust」。java


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

     
    提示框.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服務器

能夠隨意轉發,也歡迎關注個人簡書,我會堅持給你們帶來分享。網絡

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

讚揚支持
 
 工具

Web note ad 1

 
  
 

 

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

 

2017.06.21 17:44   回覆
相關文章
相關標籤/搜索