最新使用Charles进行HTTPS抓包的方法
2018-04-27  本文已影响124人 
否极泰来_L
前言
在进行APP测试、定位线上问题、模拟手机各种环境时,Charles是一款不可或缺的工具。本文主要介绍如何在Mac上使用Charles对HTTPS请求进行抓包。以及 iOS 10.3 以及以上系统引起的“SSLHandshake: Received fatal alert: unknown_ca”问题
步骤一
配置HTTP代理,这步与抓取HTTP请求是一样的
Proxy -> Proxy Settings...
Proxy Settings...
端口填入8888,勾选Enable transparent HTTP proxying
Enable transparent HTTP proxying
步骤二
配置SSL代理,点击add添加需要监视的域名,*号代表通配符,端口一般都是443
Proxy -> SSL Proxying Settings...
SSL Proxying
Edit Location
步骤三
在手机无线局域网中配置手动代理,输入安装Charles的电脑网络地址(网络地址可通过Help -> Local IP Address获取,或者打开网络偏好设置查看)。端口填8888(Charles中设置的端口)
步骤四
Mac端的根证书安装,安装完成后需要去系统钥匙串中信任该证书
Install Charles Root Certificate
步骤五
在Safri上打开Charles的根证书下载地址:chls.pro/ssl
正常的话会出现安装描述文件的页面,按照提示安装。在设置里的描述文件管理中信任它。
在iOS 10.3及以上系统,需要额外去设置 -> 通用 -> 关于本机 -> 证书信任设置里勾选针对根证书启用完全信任的选择。
针对根证书启用完全信任