简介
Charles是一种代理服务器1,通过配置,使得流量通过Charles转发到Server,并且接收Server的响应,并转发回Client。由此我们可以在Charles中查看和分析request和response。
同时Charles还具有设置断点(从中修改request或response),弱网环境测试(可设置网络速度,稳定性等)等功能。
配置
配置的基本思想就是,把运行了Charles软件的PC设置成代理服务器,然后配置Client的网络代理,使得客户端的流量都通过代理服务器进行转发。
以下是基于MacOS上Charles v4.5.6,此外由于Android系统6.0以上版本默认不信任用户自己安装的证书,目前笔者查到的方法有降低系统版本到6.0及以下,或者root手机,还没有尝试,可参考知乎文章Android 7.0+使用VirtualXposed+Charles进行抓包。PS,iOS手机可以手动安装CA证书。
抓取本机的包
直接enable Proxy->MacOS Proxy 即可抓取HTTP包。