Charles抓HTTPS包

步骤一:将Charles的根证书(Charles Root Certificates)安装到Mac上。

Help -> SSL Proxying -> Install Charles Root Certificate

步骤二:Mac信任Charles的根证书。

未信任的Charles根证书

将使用此证书时,改成“始终信任”,然后点关闭按钮,接下来会让你输入密码,然后直接填写密码即可。

信任的Charles根证书

步骤三:将Charles证书安装到移动设备上。

Help -> SSL Proxying -> Install Charles Root Certificate On a Mobile Device or Remote Browser...

这时候会弹出一个框,在移动设备的浏览器输入弹框中提供的URL就可以安装Charles证书(这时候需要移动设备已经设置代理)。

http://charlesproxy.com/getssl

在移动设备的浏览器中输入上面的URL后会弹出一个确认框,点击“允许”跳转到“设置”页面,安装描述文件即可。

步骤四:移动设备信任Charles证书。

设置 -> 通用 -> 关于本机 -> 证书信任设置

步骤五:Charles设置“Enable SSL Proxying”

Proxy -> SSL Proxying Settings...

在弹出框中选中“Enable SSL Proxying”,然后填入需要抓包的HTTPS的Host和Port,如果需要抓取所有HTTPS,则Host填入“*”,Port一般填“443”即可。



可能遇到的问题:

SSLHandshake: Remote host closed connection during handshake
You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

解决办法:

  • 首先用Mac的浏览器打开HTTPS网页,如果出现访问失败的情况,则是因为Mac没有信任Charles的根证书。这时执行上面的步骤二即可。

  • 如果Mac的浏览器可以正常打开HTTPS网页,则说明Mac已经信任了Charles的根证书,这时候可能是因为移动设备没有信任Charles证书。这时执行上面的步骤四即可。



参考:

Charles的HTTPS抓包方法及原理分析

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容