Charles教程,最详细的抓包、调试与Mock使用全指南(含实战案例)

222 阅读4分钟

在调试接口、分析网络请求、复现Bug的过程中,Charles 几乎是每个开发者都会用到的一款抓包工具。

它就像是网络世界的“显微镜”——让你看清每一个HTTP请求的来龙去脉。

无论你是前端、后端、测试还是移动端开发,掌握Charles,就能真正理解系统中“数据是如何流动的”。

这篇文章就是一份系统的 Charles教程,带你从基础操作到实战技巧,全面掌握这款神器。


一、Charles 是什么?

Charles 是一款跨平台的 HTTP/HTTPS 抓包与调试工具,支持 macOS、Windows 与 Linux。

它的核心功能包括:

  • HTTP/HTTPS 抓包与分析
  • 请求/响应修改
  • 接口重放与Mock测试
  • 网络限速模拟
  • 移动端App抓包
  • 日志导出与团队协作

二、Charles 安装与基础设置

下载与安装

访问官方中文站点 Charles中文网根据系统下载对应版本。

安装完成后首次打开,Charles会提示是否启用系统代理。 点击 “Allow”,即可捕获电脑上的网络流量。

验证抓包是否成功

打开浏览器访问任意网站,如:https://example.com。 此时在Charles主界面应看到请求记录。

如果没有显示:

  • 检查系统代理设置是否被禁用;
  • 确认端口未被占用(默认8888);
  • 关闭VPN或其他代理软件再试。

三、Charles 抓取 HTTPS 请求

HTTPS 流量是加密的,必须配置 Charles 证书才能解密。

证书安装步骤(电脑端)

  1. 点击菜单:Help → SSL Proxying → Install Charles Root Certificate
  2. 安装后打开证书管理工具(Windows为“管理用户证书”,Mac为“钥匙串访问”);
  3. 找到 “Charles Proxy CA” → 设置为 始终信任
  4. 回到 Charles → Proxy → SSL Proxying Settings → Add → *:* (表示抓取所有域名的HTTPS请求)。

验证是否成功: 访问任意HTTPS网站,查看请求详情是否可见。


四、Charles 抓取手机App流量

Charles 还能捕获手机端App的HTTP/HTTPS请求。

步骤如下:

① 确保手机与电脑在同一Wi-Fi网络

② 设置手机代理

在手机Wi-Fi设置中,手动配置代理:

  • 服务器:电脑IP地址(可在Charles底部查看)
  • 端口:8888

③ 安装Charles证书(移动端)

手机浏览器访问:chls.pro/ssl 下载安装证书。

iOS 设备还需前往:

设置 → 通用 → 关于本机 → 证书信任设置 → 启用“Charles Proxy CA”。

完成后重新打开App,即可在Charles中查看所有移动端请求。


五、Charles 常用功能详解

掌握以下几个功能,你的Charles技能就能从入门到进阶


Breakpoints(断点调试)

允许你拦截并修改请求或响应。

操作:

  • 右键目标接口 → “Enable Breakpoints”;
  • 请求触发后,Charles会暂停执行;
  • 你可以修改请求参数、Header或响应内容。

适用场景:

  • 模拟接口异常返回;
  • 验证接口安全性;
  • 测试前端错误处理逻辑。

Map Local(本地Mock)

用本地文件替代真实接口返回。

操作:

  1. 右键接口 → “Map Local”;
  2. 选择本地JSON文件;
  3. 请求会自动返回本地数据。

适用场景:

  • 后端接口未完成时前端Mock测试;
  • 离线演示页面功能;
  • 数据展示调试。

Map Remote(环境映射)

让请求自动重定向到另一个服务器地址。

例如:

api.dev.example.com → api.test.example.com

操作路径: Tools → Map Remote → Add

适用场景:

  • 快速切换测试环境与生产环境;
  • 比较不同环境接口响应差异。

Rewrite(请求/响应重写)

可自动修改请求参数或响应字段。

常见应用:

  • 自动替换 Token;
  • 修改 API 路径;
  • 调整响应 JSON 数据。

设置路径: Tools → Rewrite → Add


Throttle(网络限速)

模拟不同网络环境。

设置路径: Proxy → Throttle Settings

可选择:

  • 3G / 4G / Wi-Fi
  • 自定义带宽与延迟

适用场景:

  • 弱网性能测试;
  • 模拟低速网络体验。

六、实战案例:排查“接口超时”问题

在一次项目中,测试反馈:“下单接口经常超时,但偶尔又正常。”

我们通过 Charles 抓包分析:

  1. 请求 Header 与参数正常;
  2. Timeline 显示耗时集中在 SSL 握手阶段;
  3. 切换网络后延迟恢复正常。

最终定位到问题:CDN证书配置冲突导致握手超时。

修复后,我们将此过程写入《接口异常排查流程》,Charles 成为了我们“流量级监控”的标准工具。


七、Charles 日志与协作

导出日志

File → Export Session → 保存 .chls 文件

同事可导入查看,复现同样请求流程。

过滤请求

使用Filter功能快速筛选特定域名或接口。


八、Charles 使用技巧总结

目标推荐功能效果
抓取HTTPS接口SSL Proxying查看完整请求/响应内容
模拟接口未完成Map Local本地Mock测试
切换不同环境Map Remote快速环境切换
模拟弱网Throttle性能测试
复现BugExport Session + Repeat快速还原问题

九、更多学习资源

想更深入了解Charles的进阶用法与案例, 推荐访问Charles国内中文网

这里提供:

  • 中文安装与配置教程
  • 移动端证书配置指南
  • Rewrite与Throttle使用示例
  • 抓包案例与调试技巧