使用charlesproxy分析iphone上的https请求
见题明意的同学请绕行...
平时分析iPhone浏览器或者Apps的HTTP请求时往往需要设置一个代理服务器,虽然也可以把iPhone用数据线插在Mac上使用OSX的Safari的开发者工具分析IOS上的Safari中的页面请求,但Safari开发者工具不跟随跳转,并且无法分析Apps中的HTTP请求。
搭建服务器端的HTTP代理当然可以用Apache的mod_proxy或Squid一族。
但为分析方便,一般桌面上的代理型分析软件比较直观,在PC上开的的同学一定有很多人使用Fiddler,功能比较全面,并且免费。
在Mac上对比过几个软件,觉得Charles较为好用。但当前很多应用都是通过HTTPS加密传输的,造成无法分析传输内容,现简要介绍使用Charles分析HTTPS请求的步骤如下:
1. 首先在iPhone的Safari上访问 http://www.charlesproxy.com/charles.crt 安装证书
安装成功后显示如下
2. 在电脑上启动Charles,并从选择菜单[Proxy]->[Proxy Settings...], 弹出设置窗口后选择[SSL]选项卡,勾选[Enable SSL Proxing],并在下面的Location中Add需要分析的URL所以在域名和端口,示例如下图。
3. 在iPhone上[设置]->[无线局域网]->[HTTP 代理] 选择[手动], 填入运行Charles的电脑的IP以及Charles服务的端口,默认为 8888,如下图:
4. 使用需要分析Apps,可在Charles中看到如上设置域名的HTTPS请求了,如下图