Charles 是一款功能强大的网络抓包工具,支持 HTTP/HTTPS 流量监控、请求/响应分析、断点调试等功能。本文将从安装到实战抓包,提供完整流程及关键注意事项。
一、安装 Charles
-
官网下载:访问 Charles 官网,选择对应系统版本:
- Windows:下载
.exe
安装包,双击安装。 - macOS:下载
.dmg
镜像,拖拽到 Applications 文件夹。 - Linux:下载
.tar.gz
包,解压后运行bin/charles
。
- Windows:下载
二、初始设置
1. 启动与授权
- 首次启动时,Charles 会请求权限:
- macOS/Linux:需授权访问网络(允许防火墙权限)。
- Windows:可能需管理员权限运行。
2. 代理配置
- 自动代理设置:
Charles 默认监听8888
端口,并自动设置系统代理。- 手动检查代理:
- Windows/macOS:系统设置 → 网络 → 代理 → 确保
HTTP
和HTTPS
代理指向127.0.0.1:8888
。 - 浏览器:若使用独立代理(如 Chrome),需安装插件(如 SwitchyOmega)或手动配置。
- Windows/macOS:系统设置 → 网络 → 代理 → 确保
- 手动检查代理:
三、基础抓包流程
1. 开始抓包
- 启动抓包:点击工具栏的 Start Recording(红色圆点图标)。
- 触发网络请求:在浏览器或应用中操作(如访问网页、调用 API)。
- 查看请求:左侧面板显示捕获的域名和请求列表,右侧显示详情(请求头、响应内容等)。
2. 过滤请求
- 域名过滤:在
Filter
栏输入关键字(如api.example.com
)。 - Focus 功能:右键域名 → Focus,仅显示选定域名的请求。
3. 保存与导出
- 保存会话:
File → Save Session
(格式为.chls
)。 - 导出请求:右键请求 → **Export → cURL
或
HTTP` 文件。
四、HTTPS 抓包配置
1. 安装 Charles 根证书
- 步骤:
- 访问
chls.pro/ssl
(Charles 自动生成页面)。 - 下载证书(
charles-proxy-ssl-proxying-certificate.pem
)。 - 安装证书:
- macOS:双击证书 → 钥匙串访问 → 找到证书 → 右键 信任 → 设置为始终信任。
- Windows:双击证书 → 安装到 受信任的根证书颁发机构。
- Android/iOS:将证书文件发送到设备并安装(需在设置中手动信任)。
- 访问
2. 启用 SSL 代理
- 菜单设置:
Proxy → SSL Proxying Settings → SSL Proxying
。 - 添加域名:点击 Add,输入
Host
(如*
)和Port
(如443
),支持通配符。
五、移动设备抓包
1. 配置手机代理
- 连接同一网络:手机与电脑需在同一局域网。
- 设置代理:
- Android:Wi-Fi → 修改网络 → 高级 → 代理设为
手动
,输入电脑 IP 和端口8888
。 - iOS:Wi-Fi → 点击
i
图标 → 配置代理 → 手动 → 输入电脑 IP 和端口。
- Android:Wi-Fi → 修改网络 → 高级 → 代理设为
2. 安装手机证书
- Android:
- 手机浏览器访问
chls.pro/ssl
,下载并安装证书。 - 设置 → 安全 → 加密与凭据 → 安装证书 → 选择文件。
- 手机浏览器访问
- iOS:
- 手机浏览器访问
chls.pro/ssl
,下载证书。 - 设置 → 通用 → VPN 与设备管理 → 安装描述文件 → 信任证书。
- 手机浏览器访问
- 如果下载不到可以使用PC端下载 Charles Root Certificate Help
六、高级功能
1. 断点调试
- 设置断点:右键请求 → Breakpoints → 启用断点。
- 修改请求/响应:触发请求后,可在断点处修改参数或响应内容。
2. 重写请求(Rewrite)
- 菜单:
Tools → Rewrite
→ 创建规则,修改请求头、URL 或响应内容。
3. 模拟慢速网络
- 菜单:
Proxy → Throttle Settings
→ 启用限速,设置带宽和延迟。
七、注意事项
1. 法律与隐私
- 合法使用:仅抓取自己拥有权限的应用或网站流量。
- 敏感信息:避免在公共场合捕获含密码、Token 的请求。
2. 证书问题
- 信任失败:确保证书已正确安装到系统信任库(非用户证书库)。
- 证书过期:定期从
chls.pro/ssl
重新下载安装。
3. 抓包失败排查
- 代理未生效:检查系统/浏览器代理设置,关闭 VPN 或防火墙。
- HTTPS 抓不到:确认 SSL 代理配置和证书信任状态。
4. 性能优化
- 过滤请求:避免捕获过多无关请求导致卡顿。
- 关闭 Charles:长时间不用时关闭以减少资源占用。
八、总结
通过上述步骤,你可以完成 Charles 的安装、代理配置、HTTPS 解密及移动端抓包。关键点:
- 正确安装证书并信任。
- 代理设置需覆盖目标设备和应用。
- 使用过滤和断点提高调试效率。
练习建议:尝试捕获一个简单网页的请求,分析其请求头和响应结构,逐步熟悉 Charles 的功能!
相关推荐
adb 常用命令汇总_adb命令-CSDN博客文章浏览阅读3.8w次,点赞51次,收藏355次。Android Debug Bridge (ADB) 是一个多功能命令行工具,它允许你与连接的Android设备进行通信。ADB主要用于调试和与设备进行各种交互,如安装和调试应用、访问设备的shell、复制文件等。它包含在Android SDK中,并且是Android开发者的重要工具之一。_adb命令https://shuaici.blog.csdn.net/article/details/135509740MacOS 15.3.1 安装 GPG 提示Error: unknown or unsupported macOS version: :dunno-CSDN博客文章浏览阅读2.7k次,点赞37次,收藏36次。当你看到 -bash: gpg: command not found 这样的错误消息时,它表明 Bash 终端无法在你的 macOS 系统上找到 gpg 命令。这通常意味着 GPG(GNU Privacy Guard)没有安装在你的系统上,或者 GPG 的可执行文件没有包含在你的 PATH 环境变量中。_error: unknown or unsupported macos version: :dunno
https://shuaici.blog.csdn.net/article/details/146237563