Charles 抓包 Android 端 https

  1. 在阅读本文前,你应该已经会使用 Charles 进行 http 抓包。如果不会,请先掌握 http 抓包后再阅读本文

  2. 首先需要安装 Charles 的证书到手机端
    点击下图位置的 Save Charles Root Certificate 将会把证书文件导出,你需要选择一个导出位置
    1.png
    2.png

  3. 导出后将其移动到手机的内置存储,然后在 设置 - 安全 - 从存储设备安装 安装该证书
    (我的手机是 Android 原生 6.0 的 ROM,个别手机的位置可能不同)
    3.png

  4. 需要注意的是,在安装时弹出的提示框中 凭据用途 一项,应该选择 WLAN
    4.png

  5. 之后在 PC 端 Charles 的 SSL Proxying Settings 里 添加你想要抓包的链接的主机名
    5.png

  1. 重新发起连接后,发现之前显示小锁图标的 https 请求已经可以正常抓取了
    6.png

Ps.关于抓包中抓到的 connect 请求
connect 是为了建立 http tunnel 而存在的。connect 是 http 众多方法中的其中一种,它跟 post、get、put、options 方法是并列的。但是它的使用场景很特殊,只有在受限制的网络环境中(防火墙、NAT、代理器)并且是 https 通信时,客户端会使用 http connect 请求代理服务器,代理服务器使用 connect 方法与目标服务器建立 http tunnel。通道建立后,客户端与服务器进行通信,代理服务器就像透明一样,只是接收、转发 tcp stream
这个引用自 http://blog.csdn.net/wangjun5159/article/details/54142016,详细的可以查看原文