我的环境
- OSX 10.11.4
- charles V3.11.4
- iPhone6 9.3
一、 抓http包
1. 打开charles,设置代理端口号
2. 手机设置代理
手机必须和电脑处于同一个局域网内。
点击当前所连得WIFI右边的info设置,在设置中最下面的http代理栏,选手动,服务器填电脑的IP地址, 端口填步骤1中charles设置的端口号。填完之后返回即保存。
完成之后,手机即可通过电脑上的charles代理上网。手机联网的话,charles应该会弹出一个确认窗口问是否同意通过charles联网,点同意,即可开始抓包。
友情提示:手机设置了http代理后,如果charles关闭了手机将无法上网,记得把http代理取消。
二、 抓https包
charles新版本已经可以抓https的包了。我的版本是3.11.4。
1. 手机安装证书
先按抓http包的设置,让手机通过charles代理上网。
然后手机上访问地址: http://www.charlesproxy.com/getssl/
这样手机会跳到charles根证书的安装页面。一路点安装
2. 设置抓包域名
点开charles的 菜单---> Proxy ---> SSL Proxying Setting,在SSL Proxying页勾选上 Enable SSL Proxying。 并在下面设置要抓包的域名。没有设置的域名将不能成功抓包。 当然可以用通配符。
3. 成功抓包
参考文档
charles官方文档
SSL CONNECTIONS FROM WITHIN IPHONE APPLICATIONS
通过SSL Pinning提高iOS应用的安全性