解决Charles无法正常抓包iOS 11中的Https请求

暂时不明确是从哪一个 Beta 版本开始,Charles 无法正常抓 iOS 11 Developer Beta
版的 https 请求。笔者是升级到 iOS11 Beta5 以后才发现这个问题。表现为指定抓取的 Https 请求全部

一开始以为是Charles提供的自签名根证书失效,更新到了最新版的 Charles 4.1.4,依然无解。最终才发现,iOS 是在原有安装根证书的基础上,又增加了一步信任的过程,不知道这个操作会不会带到正式版,目测可能性很高。

解决方案

  1. 按照以往版本安装 Charles 自签名根证书
  • Mac 上启动 Charles,在同一个局域网内,把 iOS 设备的代理设置到 Mac机的 Charles 代理端口上。假定 Mac 机 IP 为192.168.1.10,Charles 的默认端口号为 8888,则设置到192.168.1.10:8888。
  • 在 Safari 中访问 http://chls.pro/ssl,根据提示输入锁屏密码,安装自签名根证书。

到了这一步,iOS 10 及以下的操作系统就能正常抓到 https 的请求内容。但 iOS 11则不行,请求状态显示 Blocked。

  1. 打开【设置】>【通用】>【关于本机】>【证书信任设置】
    把刚才添加的证书后面的 Switch 打开。
【设置】>【通用】>【关于本机】>【证书信任设置】

此时,Charles 就可以正常捕获 Https 请求。

转载请注明出处,原文地址:http://www.jianshu.com/p/4005cf4f370d《解决Charles无法正常抓包iOS 11中的Https请求》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容