前言
Charles 是一款在Mac下常用的网络封包截取工具。Charles 可以将自己设置为系统的网络代理服务器,使得所有的网络请求都通过它来完成。这样,方便自己开发的时候进行接口调试和已经调试别的APP网络接口。。。
启用HTTP代理
这里启用 Charles 的代理,设置代理IP 为 8888
打开终端输入 ifconfig 查看当前的局域网IP
1
ifconfig
然后将手机连入同一个Wi-Fi, 在Wi-Fi的 HTTP代理中设置为电脑的IP地址和端口。
Charles弹出确认框,点击Allow按钮即就可以愉快的获取到数据包信息啦。
如何使用HTTPS代理
电脑端设置
想要抓取https的包的话,需要使用Charles自己的CA证书并进行 打开钥匙串,点击证书详情,设置为始终信任
手机端设置
如果你已经将手机的网络代理设置 Charles,那么可以直接在浏览器中输入网址 charlesproxy.com/getssl
,会提示安装证书描述文件:
安装证书 点击安装即可,如果出现的不是这个界面,那么把链接换成 https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/,点击安装 itself 后面的 here 就可以了。
设置监听端口
这里是设置所有的地址的 443 端口都进行代理。如果只抓取部分,也可以进行单独的地址设置。
现在就可以愉快的玩耍啦~ 以知乎为例
问题解决
iOS 10.3 以上 HTTPS 代理问题
因为升级到 iOS11 后发现 HTTPS 不能使用了,需要在关于本机
-证书信任设置
中开启完全信任。