charles对安卓和苹果ISO抓包--解决http协议包乱码
Charles用来截包非常方便,而且可以通过代理的方式截取手机上的发包。这两天有需求试验了一下,发现网上资料不是特别完整,折腾了一段时间,所以整理下来给大家排雷。
会跳出钥匙串,选择charles证书全部信任。
勾选代理,填写端口,默认8888就行。
- 首先手机和电脑要连上同一个局域网,先查看电脑局域网的IP。打开电脑命令行,输入ifconfig,拿到电脑局域网IP。
然后设置手机代理。设置需要选择无线网,不要是已经输入密码的,已经连接的可以忘记密码或者修改配置,直接忘记密码比较方便。在连接WIFI的输入密码界面,有高级设置可以设置代理。
当连接上WIFI后,charles会显示一条提示,有请求代理,选择接受。
这个时候实际上已经可以拦截手机上的网络协议包了。但是HTTP包可能出现乱码,这是因为SSL的原因。
- charles设置
然后设置手机上需要监控的IP或者域名,如果填*代表所有。端口填443。 - 手机设置
手机上需要安装一个证书。先在手机浏览器输入chls.pro/ssl下载证书,如果是安卓手机需要将下载的charles-proxy-ssl-xxxxx.pem文件修改尾缀为charles-proxy-ssl-xxxxx.crt。然后找到手机的安全与隐私设置处,不同手机系统不一样,但一定都是安全与隐私相关。更多安全设置里会有“加密与凭据”,然后选择从存储设备安装。
安卓手机,.pem文件修改尾缀为.crt,就能够安装。
安装成功,重启charles,http的包就能够顺利解析了。