最近使用了 Charles 抓包工具,期间遇到了一些问题,想到后面的小伙伴也可能会遇到,所以分享给大家。
iPhone抓包
1.打开Charles,然后在菜单栏选择:Proxy -> SSL Proxying Settings -> SSL Proxying -> Add
Host:为要抓取的域名地址,* 表示抓取所有地址
Port:端口,固定为443
2.查看Mac IP地址:系统偏好 -> 网络
3.在手机上设置电脑为手机的代理:设置 -> 无线局域网 -> 选择对应的WIFI,进入页面后拉到底部 -> 选择“HTTP代理” -> 手动 -> 填入电脑IP地址和8888端口(这里的8888端口是可以自己设置的,在菜单栏选择:Proxy -> Proxy Settings... 可以设置)
4.安装证书:在手机浏览器中打开:http://charlesproxy.com/getssl。证书安装完之后需要去信任证书:设置 -> 通用 -> 关于本机 -> 证书信任设置 -> 打开信任
5.然后手机打开APP访问页面,Charles就可以抓到HTTPS对应的请求接口了
Mac抓包
1.打开Charles,然后在菜单栏选择:Proxy -> SSL Proxying Settings -> SSL Proxying -> Add
2.设置Mac代理,在菜单栏选择:Proxy -> Mac OS X Proxy 勾选
3.安装证书,在菜单栏选择Help -> SSL Proxying -> Install Charles Root Certificate。此时会打开钥匙串,然后双击证书,选择始终信任证书
4.然后浏览器或者Postman访问服务器接口,Charles里面就可以抓到HTTPS对应的接口了
常见问题一:Mac抓包
将 Charles 设置成Mac系统代理后,Charles 界面中,没有出现我们再Mac上预期的抓包结果。这个是由于你本地可能有其他网络代理工具(如常见的一些 VPN 代理工具)。解决办法:将你的网络代理工具关掉就可以了。
常见问题二:iPhone抓包
在手机浏览器中打开:http://charlesproxy.com/getssl,却没有出现证书安装界面。首先你要在手机上设置好 Charles 代理,然后再在手机浏览器上打开这个网址,就好了。这个顺序不能反了。