Charles 如何对 HTTPS 进行抓包?

对 http 的抓包非常的简单,但是对 https 的抓包就有点麻烦了,主要麻烦在证书的安装与设置上。昨天由于有需要去抓https 的包,但是装好证书后,手机一直连不上,特此记录一下。

想要抓取 https 包,首先我们需要在电脑上安装一个 Charles Proxy 的证书

安装 Charles Root Certificate


1、依次点击:Help -> SSL Proxying -> Install Charles Root Certificate

2、打开我们系统的 钥匙串 应用,找到如下的证书(老版本的证书名字可能有所不同):

3、右键证书 -> 显示简介 -> 将信任设置成【始终信任】,如下所示:

至此,macOS 系统的证书安装完毕。

在 iOS 上安装证书


1、将手机 WiFi 的配置代理一项设置成手动,服务器一栏输入自己电脑的 IP 地址,端口一栏输入 8888,保存返回。

2、打开手机的浏览器,输入 chls.pro/ssl 打开这个网址,提示框选择允许,如下:

3、安装证书

4、信任证书【此步容易忘,注意】,设置 -> 通用 -> 关于本机 -> 证书信任设置

SSL Proxying Settings


1、Proxy -> SSL Proxying Settings 点击 add 按钮,按如下方式添加:

2、如果连接还是加密状态的话,右键选择连接,点击 Enable SSL Proxying

现在就可以对任何的 https 连接进行抓包了。