第一步:
需要对Charles进行SSL设置
对 Charles 的设置:
1、Charles 4.0 ,选中Proxy - SSL Proxying Setting
2、选择 SSL Proxying,勾选 “Enable SSL Proxying”,点击下方“add”按钮添加需要抓包的接口地址,端口号填443
注:地址添加方式如上图,如果需要抓取所有https,host处填 “ * ”。
第二步:对移动设备的设置:(需要安装安全证书)
iOS:
1、打开 Help - SSL Proxying,选择将证书安装到移动设备上。
2、此时会弹窗,指示手机在连接到电脑代理的情况下,在手机浏览器中访问网址 chls.pro/ssl ,此时iOS可以直接访问该网址,在弹出的证书安装界面点击安装即可。
注意:虽然charles的根证书已经在安装列表中显示,但它是被关闭的。在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书。方法为,设置->通用->关于本机->证书信任设置-> 找到charles proxy custom root certificate然后信任该证书即可.
Android:
1、打开 Help - SSL Proxying,选择将证书存储在电脑本地
2、存储时,将文件格式改为 .cer 而不是默认的 .pem,保存后,在设备上安装证书即可
注意:
1、如果Android采用iOS的访问浏览器的形式安装,将会自动下载一个 .pem 文件,而手机无法识别该文件,会导致安装失败。
2、Android 安装证书时,需要给手机设置解锁密码。
碰到问题:
之前在手机上使用 “ip:端口号” 的方法就能直接在手机上自动下载安装charles证书,但是现在有些手机并不能,那就需要我们去手机设置里手动安装。前提是,都要使用 “ip:端口号” 的方法先去下载好证书。
IOS:设置 —> 通用 —> 关于本机 —> 受信任证书存储区,找到需要安装的证书,安装即可。
ANDROID:设置 —> 安全 —> 从手机存储安装(或者是:设置 —> 其他设置 —> 设备与隐私 —> 从存储设备安装证书),找到需要安装的证书,安装即可。