教程:使用Charles抓取https的數據包

需求描述

在開發過程中,線上APP的http請求,多是https的。這給我們線上調試工作造成了不小的困擾。看到的都是類似下圖的亂碼:
亂碼
接下來,我教大家如何使用Charles,抓取明文的https數據包。
親測有效。

保證手機和電腦處於同一個網絡

在Charles端進行SSL Proxying 設置

Proxy -> SSL Proxying Settings -> SSL Proxying -> Add
Proxy Settings443

  • Host:爲需要過濾的域名地址,*表示不過濾
  • Port:固定爲443,*表示任意端口

查看電腦IP

Charles -->Help–> Local Ip Address
pc IP

手機添加代理

高級設置
手機代理

電腦端安裝ssl證書

Install Charles Root Certificate
添加完畢後,在電腦端可以看到已經安裝的證書:
鑰匙串

保存一份證書到電腦端

Save Charles Root Certificate
文件名爲:charles-ssl-proxying-certificate.pem
pem

發送證書到手機端

可以直接使用數據線,或者使用傳輸工具,如AirDroid

手機端安裝證書

記得憑據用途–選擇“WLAN”
證書命名

查看抓包數據

api data
json response
我們看到,https的接口返回的響應數據,已經明文展示出來了。

環境說明

  • 手機型號:堅果Pro2
  • Android版本:V7.1.1
  • PC OS:macOS High Sierra V10.13.4
  • Charles版本:V4.1.1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章