美文网首页
解决Charles无法正常抓包iOS 11中的Https请求

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

作者: MdWhat | 来源:发表于2018-01-02 15:22 被阅读14次

    暂时不明确是从哪一个 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 请求。

    Ps:http://dev.dafan.info/detail/521365

    相关文章

      网友评论

          本文标题:解决Charles无法正常抓包iOS 11中的Https请求

          本文链接:https://www.haomeiwen.com/subject/yutqnxtx.html