如何用charles抓http/https包

我的环境

  • OSX 10.11.4
  • charles V3.11.4
  • iPhone6 9.3

一、 抓http包

1. 打开charles,设置代理端口号

如何用charles抓http/https包_第1张图片
1.png

2. 手机设置代理

手机必须和电脑处于同一个局域网内。
点击当前所连得WIFI右边的info设置,在设置中最下面的http代理栏,选手动,服务器填电脑的IP地址, 端口填步骤1中charles设置的端口号。填完之后返回即保存。

如何用charles抓http/https包_第2张图片
wifi页
如何用charles抓http/https包_第3张图片
wifi设置页

完成之后,手机即可通过电脑上的charles代理上网。手机联网的话,charles应该会弹出一个确认窗口问是否同意通过charles联网,点同意,即可开始抓包。

友情提示:手机设置了http代理后,如果charles关闭了手机将无法上网,记得把http代理取消。

二、 抓https包

charles新版本已经可以抓https的包了。我的版本是3.11.4。

1. 手机安装证书

先按抓http包的设置,让手机通过charles代理上网。
然后手机上访问地址: http://www.charlesproxy.com/getssl/
这样手机会跳到charles根证书的安装页面。一路点安装

如何用charles抓http/https包_第4张图片
证书安装

如何用charles抓http/https包_第5张图片
安装完成之后显示

2. 设置抓包域名

点开charles的 菜单---> Proxy ---> SSL Proxying Setting,在SSL Proxying页勾选上 Enable SSL Proxying。 并在下面设置要抓包的域名。没有设置的域名将不能成功抓包。 当然可以用通配符。

如何用charles抓http/https包_第6张图片
设置抓包域名

3. 成功抓包

如何用charles抓http/https包_第7张图片
成功抓https包

参考文档

charles官方文档
SSL CONNECTIONS FROM WITHIN IPHONE APPLICATIONS
通过SSL Pinning提高iOS应用的安全性

你可能感兴趣的:(如何用charles抓http/https包)