Charles 是一款强大的 HTTP 代理工具,常用于网络请求的抓包、调试和分析。
通过在客户端和服务器之间建立代理,捕获所有 HTTP/HTTPS 流量,并以直观的界面展示请求和响应的详细信息。Charles 支持 SSL 代理、请求重发、带宽模拟、断点调试等功能,是开发和测试过程中不可或缺的利器。无论是移动端 App 开发、Web 前端调试,还是接口联调和问题排查,Charles 都能显著提升工作效率。
在默认安装下,所有的请求都会被识别为 unknown,因此需要进行相对应的配置,下面就让我们分步进行介绍。
1. 证书安装
为了抓取请求,需要在客户端安装 Charles 的根证书并信任它,按下图进行操作。

2. 代理配置
配置代理是 Charles 抓包的核心步骤,需要将客户端的网络请求指向 Charles 代理服务器。
可在 SSL Proxying Settings 中配置需要代理抓包以及排除哪些域名以及端口。
为了便于演示,这边配置 Host 与 Port 都配置为 * 表示代理所有域名以及端口请求。
如果需要抓取特定端口的流量,可在 Include 中添加对应 host:port 格式的规则,例如 localhost:8080。

3. 端口配置
端口配置用于设置 Charles 代理服务器的监听端口,以及针对特定端口的抓包规则。
在 Proxy Settings 可以修改 HTTP 代理的默认端口(默认为 8888),同时建议勾选 Enable transparent HTTP proxying 以支持透明代理。
