此教程只展示了mac和ios的示例,其他平台大同小异,可以参考其他资料
下载和安装Charles
下载地址: www.charlesproxy.com/download/
选择对应系统的版本
安装好
配置手机
请确保手机和电脑在同一局域网内 步骤: 设置网络的代理服务器为该电脑的ip地址,端口为8888,此时你已经可以抓取http请求了
此时如果抓包,会看到一堆unknown
配置抓包HTTPS请求
主要步骤是电脑和手机上都安装好证书
电脑上的配置证书
- 安装Charles HTTPS证书 路径:help–>SSLProxying–> Install Charles Root Ceriticate,如图所示:
- 点击Install Charles Root Ceriticate后,会直接跳到钥匙串
如果你的证书已经信任,可直接进入下一步,反之,点击Charles Proxy CA,进入钥匙串访问,设置为始终信任
- 通过Proxy–>Proxy Settings->Proxies, 勾选Enable transparent HTTP proxying
- 通过Proxy–>SSL Proxying Settings,勾选Enable SSL Proxying, 并添加host,端口是443 这里是把所有的host都设置进去
手机端下载证书
- 电脑上通过help–>SSLProxying–> Install Charles Root Ceriticate on a Mobile Device or Remote Browser,可以获得下载提示
-
手机上safari打开上述网址chls.pro/ssl(可能会有不同,请看上图提示),下载安装证书 注意要使用safari,其他浏览器下载证书并不会提示安装 20170606150148075.png
-
信任刚刚安装的证书,手机上打开 设置->通用->关于本机-> 证书信任设置 -> 信任证书
查看抓包
可以看到成功抓取了https
如果仍然不成功,可以参照以下几点排查
失败的可能原因
- 手机和电脑不处在同一网络环境下
- 手机上的代理ip不是电脑本机ip
- 证书没装成功
- 没勾选 Proxy -> macOS Proxy,勾选上 macOS Proxy
- 浏览器装的插件拦截了
- 不支持对应的协议,如 https http2 等需要另外配置