操作原理
关键的操作思想:
- 构造一个中间人代理,它有能力完成TLS/SSL握手
- 弄到一个根证书,并用它生成签名认证的代理服务器证书
实现方法
首先下载Mac版的charles
,安装好,windows的用户可以下载fiddler
,功能类似
第一步:配置HTTP代理,这步与抓取HTTP请求是一样的:
选择在8888端口上监听,然后确定。够选了SOCKS proxy,还能截获到浏览器的http访问请求。
第二步:配置SSL代理:
首先在charles的 Proxy选项选择SSL Proxy Settings,勾选Enable SSL Proxying,在地方add需要抓取的https域名,也可以直接设置 .
安装pc端证书
点击之后会在弹出的accessKey里看到Charles的证书.(如果找不到可以在搜索栏输入charles
)
双击证书 > 信任 > 试用此证书时 > 选择始终信任
安装ios端证书
这里会弹窗提示你将手机的代理设置好,端口默认8888,设置好之后Charles上会提示是否允许手机连接,选择Allow
然后按照刚才弹窗里的用手机的Safari浏览器打开(一定要Safari
)http://chls.pro/ssl
,按照提示安装好证书
要为这个证书开启受 SSL 信任,请前往“设置”>“通用”>“关于本机”>“证书信任设置”。在“针对根证书启用完全信任”下,开启对这个证书的信任。
以上就完成了Charles的配置,请享受吧
发表评论