×

最新使用Charles进行HTTPS抓包的方法

96
舟亢石石石
2018.04.27 14:43 字数 368

前言

在进行APP测试、定位线上问题、模拟手机各种环境时,Charles是一款不可或缺的工具。本文主要介绍如何在Mac上使用CharlesHTTPS请求进行抓包。以及 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及以上系统,需要额外去设置 -> 通用 -> 关于本机 -> 证书信任设置里勾选针对根证书启用完全信任的选择。

针对根证书启用完全信任

END

记录
Web note ad 1