教程:使用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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章