如何使用Charles抓取HTTPS

Mac上使用的抓包工具中,相比Tcpdump,Wireshark,个人更喜欢 Charles。(官网http://www.charlesproxy.com/可下载到最新版本)

1.相关配置
选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enabling transparent HTTP proxying

Proxy Settings.png

勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据


AddPort.png

2.Mac安装SSL证书

电脑端安装SSL证书

信任证书

3.iPhone端连接

手机连接

可以看到当前电脑的IP地址为:192.168.199.249。
将iPhone连接到与电脑相同的WiFi,在iPhone设置中:无线局域网 -> 已连接WiFi右边的Info详情图标 -> HTTP代理 -> 手动 -> 设置HTTP代理:
iPhone设置

设置完成之后,打开Safari随便访问一个网页,初次设置代理的话,Charles会弹出一个iPhone请求代理的确认框,点击Allow即可。然后在Charles上就可以看到iPhone上的HTTP请求了。为了避免Mac上的请求过多影响对被代理iPhone上HTTP请求的查看和调试,可以在Charles取消Mac的代理:Menu -> Proxy -> 取消勾选Mac OS X Proxy 即可。

4.伪造证书欺骗
在被代理的iPhone上打开Safari,访问http://www.charlesproxy.com/getssl,会弹出安装描述符文件的界面,该描述文件包含了Charles根证书:

证书欺骗.png

证书安装完成后即可在Charles上抓取HTTPS的请求。

更多端的设置证书方法可以参考这篇官方文档https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

参考资料
1.Charles抓取HTTPS数据包 http://legendtkl.com/2015/11/30/charles-https/
2.Charles SSL PROXYING http://www.charlesproxy.com/documentation/proxying/ssl-proxying/
3.Charles SSL CERTIFICATES https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

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

推荐阅读更多精彩内容

  • 如何使用Charles抓取HTTPS 前言: app测试,有时需要了解客户端和服务器之间的http或https的通...
    符号L阅读 14,371评论 0 8
  • 本文的内容主要包括: Charles 的简介 将 Charles 设置成系统代理 过滤网络请求 截取 iPhone...
    DeadRabbit阅读 611评论 3 3
  • 在PHP中也有注释语句:用双斜杠(//)来表示。其它语言中,Html中使用,CSS中使用/注释语句/。如下面代码:...
    WangJing6阅读 314评论 0 0
  • 回的去吗 回不去 忘的了吗 忘不了
    寒酥雨凝阅读 166评论 0 0
  • 昨天遇到了一个很专业的客户,从我们的原料供应商到经销商,生产制造商,整个咨询了一个遍。 话里行间一听就是内行。因为...
    励志宝妈阅读 604评论 0 0