Charles
跨平台商业 HTTP/HTTPS 调试代理服务器
移动端调试真机调试抓包HTTP 代理
通过中间人方式拦截、查看、修改客户端与服务器之间的网络流量,是移动端 App、WebView 和桌面浏览器 API 联调的业界标准工具。
Charles HTTP 代理抓包调试工具技术调研
Charles 是跨平台商业 HTTP/HTTPS 调试代理服务器,通过中间人方式拦截、查看、修改客户端与服务器之间的网络流量,是移动端 App、WebView 和桌面浏览器 API 联调、问题定位的业界标准工具之一。
一、 基本信息
| 维度 | 关键指标 / 描述 |
|---|---|
| 技术标签 | 抓包 / HTTP 代理 / HTTPS 解密 / 移动端调试 |
| 开发商 | XK72(Charles Proxy) |
| 官方网站 | https://www.charlesproxy.com/ |
| 许可协议 | 商业软件(试用 30 分钟会话限制) |
| 支持平台 | Windows、macOS、Linux |
| 生态成熟度 | 极高 |
二、 技术定位与简介
Charles 核心能力:
- 记录 HTTP/HTTPS 请求与响应完整内容。
- SSL Proxying:安装 Charles 根证书解密 HTTPS。
- Map Local / Map Remote:将请求映射到本地文件或其他 URL。
- Breakpoints:断点修改请求/响应。
- Throttle:模拟弱网。
- Repeat / Compose:重放与手动构造请求。
移动端调试:手机 Wi-Fi 代理指向 Charles 所在电脑,安装并信任 Charles CA 证书后即可抓取 App/WebView 流量。
三、 快速上手安装说明
- 下载安装 Charles:https://www.charlesproxy.com/download/
- Proxy → SSL Proxying Settings → 启用并添加
*:443。 - Help → SSL Proxying → Install Charles Root Certificate(本机)。
- 手机与电脑同网,Wi-Fi 代理设为电脑 IP:8888。
- 手机浏览器访问
chls.pro/ssl安装移动端证书(iOS 需在设置中信任)。
四、 核心特性
- 结构化展示 Headers、Body、Timing。
- JSON/XML 格式化与搜索过滤。
- Focused Hosts 过滤噪音。
- WebSocket 流量查看(部分版本)。
- 与浏览器、系统代理集成。
五、 适用场景
适合:移动端 HTTPS 抓包、接口联调、响应篡改测试、弱网模拟、第三方 SDK 行为分析。
不适合:开源免费方案需求(用 Whistle/mitmproxy)、生产环境监控(用 APM)。
六、 技术亮点
成熟稳定;HTTPS 解密配置文档完善;Map Local 快速 Mock 静态响应;行业认知度高。
七、 技术局限与边界
- 商业授权费用。
- Certificate Pinning 的 App 无法解密。
- 误操作可能泄露隐私流量。
- 高流量时性能与存储压力。
- HTTP/3/QUIC 支持有限。
八、 生态地图
| 工具 | 关系 |
|---|---|
| Fiddler | Windows 同类 |
| Whistle | 开源替代 |
| Proxyman | macOS 现代替代 |
| mitmproxy | 开源可脚本化 |
九、 生态集成
与 Postman/Apifox 分工:Charles 看真实流量,API 工具发构造请求。可导出 .har 供团队共享。
十、 开发与工程化
- 团队共享 Focus 配置与 Map 规则文件。
- 敏感项目使用专用 Charles 实例,避免混抓。
- 联调完关闭系统代理,恢复网络。
十一、 性能与安全
- 仅调试环境安装 Charles CA,调试完可移除手机证书。
- 勿在公共 Wi-Fi 对他人设备抓包。
- 抓包文件含 Token,勿提交 Git。
- Pinning App 需开发提供 debug 包或禁用 pinning 的测试构建。
十二、 技术对比
| 工具 | 许可 | 特点 |
|---|---|---|
| Charles | 商业 | 成熟全能 |
| Whistle | 开源 | 规则灵活、Node |
| Proxyman | 商业 | macOS 体验好 |
| Fiddler | 免费/商业 | Windows 传统 |
十三、 最佳实践
- SSL Proxying 仅对需要的 host 启用,减少噪音。
- Map Local 快速 Mock 大 JSON 响应。
- Breakpoint 验证前端错误处理逻辑。
- Throttle 测试加载态与超时 UI。
- 会话结束导出 HAR 归档问题证据。
- 与 vConsole 日志对照定位问题层次。
十四、 学习与社区资源
- 官方文档:https://www.charlesproxy.com/documentation/
- SSL 配置指南:官方 iOS/Android 证书安装说明
十五、 总结
Charles 是移动端与 HTTPS 网络层调试的标杆工具,适合专业联调与复杂问题取证;团队若需开源可评估 Whistle,macOS 用户可对比 Proxyman。