Charles安装与功能介绍
字数 2867 2025-08-11 22:57:16
Charles 网络封包截取工具全面教学指南
一、Charles 简介
Charles 是一款功能强大的网络封包截取工具,主要用于开发调试和网络协议分析。相比 BurpSuite,Charles 更易上手且界面直观。
主要功能
- 截取 HTTP 和 HTTPS 网络数据包
- 支持重发网络请求,方便后端调试
- 支持修改网络请求参数
- 支持截获并动态修改网络请求
- 支持模拟慢速网络环境
授权信息
Charles 是收费软件,提供 30 天免费试用。试用期过后仍可继续使用,但有如下限制:
- 每次使用时间不超过 30 分钟
- 启动时有 10 秒延迟
二、安装与激活
下载安装
- 访问官网:https://www.charlesproxy.com/latest-release/download.do
- 选择对应操作系统的版本下载
- 按照提示完成安装
激活方法
注册信息:
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
三、主界面与菜单介绍
主界面工具栏
- 清除按钮:清除所有捕获的请求
- 捕获状态:红色表示正在捕获,灰色表示未捕获
- SSL 代理:停止 SSL 代理
- 网速节流:灰色表示未开启,绿色表示已开启
- 断点模式:灰色表示未开启,红色表示已开启
- 编辑请求:修改请求内容
- 重复请求:再次发送选中的请求
- 验证请求:验证选中的请求响应
- 购买许可证:跳转至官网购买
- 常用功能:包含 Tools 菜单中的常用功能
- 常用设置:包含 Proxy 菜单中的常用设置
数据包视图
- Structure:按访问域名分类
- Sequence:按访问时间排序
- Filter:输入关键字快速筛选请求
会话右键功能
- Repeat/Repeat Advanced:重复执行请求(可指定遍数)
- Focus:将选中域名置顶
- Block List:将域名加入黑名单
- Export:导出会话到本地
- Compare:对比两个请求的入参和出参
- Compose:编辑请求并执行
- Map Remote:重定向到另一个请求的返回值
- Map Local:使用本地文件内容作为返回值
四、Proxy 菜单详解
1. 录制设置 (Recording Settings)
- Options:限制记录数据大小
- Include:只录制匹配地址的请求
- Exclude:不录制匹配地址的请求
2. 节流设置 (Throttle Settings)
- 启用网速模拟配置
- 预设网络类型选择
- 可针对特定 hosts 设置慢速网络
3. 断点设置 (Breakpoint Settings)
- 启用断点模式
- 设置监控的 Scheme、Protocol、Host 和 Port
- 可观察或修改返回内容
4. 反向代理设置 (Reverse Proxies Settings)
- 在本地端口创建 Web 服务器
- 透明地将请求代理给远程服务器
- 可查看原本无法访问的流量
5. 端口转发 (Port Forwarding Settings)
- 配置 TCP/IP 或 UDP 端口转发
- 可调试任何协议
6. macOS 代理
- 勾选可记录计算机所有请求
- 取消勾选则只抓取移动端请求
7. 代理设置 (Proxy Settings)
- 默认端口 8888(可修改)
- 启用透明 HTTP 代理
8. SSL 代理设置 (SSL Proxy Settings)
- 启用 SSL 代理
- 可针对特定 Host 和 Port 启用
9. 访问控制 (Access Control Settings)
- 控制谁可以使用 Charles
- 默认 localhost 始终在访问列表中
- 可添加允许访问的 IP
10. 外部代理 (External Proxy Settings)
- 配置 Charles 使用现有代理访问 Internet
- 可单独配置 HTTP、HTTPS、SOCKS 代理
11. Web 界面 (Web Interface Settings)
- 启用 Web 界面控制 Charles
- 可设置用户名和密码
- 访问地址:http://control.charles
- 功能包括:节流控制、录音控制、工具管理、会话控制等
五、Tools 菜单详解
1. 禁用缓存 (No Caching Settings)
- 防止客户端缓存资源
- 可全局启用或仅对特定请求启用
2. 禁用 Cookie (Block Cookies Settings)
- 阻止 Cookie 的发送和接收
- 可测试无 Cookie 环境
3. 远程映射 (Map Remote Settings)
- 根据配置映射更改请求站点
- 支持目录、文件、文件模式映射
- HTTP 和 HTTPS 可互相映射
4. 本地映射 (Map Local Settings)
- 使用本地文件内容作为返回值
- 加快开发和测试速度
5. 重写 (Rewrite Settings)
- 修改请求和响应的规则
- 可添加/修改头信息、搜索替换内容
6. 黑名单 (Black List Settings)
- 阻止黑名单域名的所有请求
- 支持通配符阻止子域名
7. 白名单 (White List Settings)
- 只允许白名单域名的请求
- 其他请求将被阻止
8. DNS 欺骗 (DNS Spoofing Settings)
- 指定主机名到 IP 地址的映射
- 优先使用配置的 DNS 映射
9. 镜像 (Mirror Settings)
- 克隆响应内容保存到本地
- 保持与站点相同的目录结构
10. 自动保存 (Auto Save Settings)
- 按时间间隔自动保存会话
- 避免内存不足问题
- 文件名包含时间戳(yyyyMMddHHmm)
11. 客户端进程 (Client Process Settings)
- 显示发出请求的本地进程名称
- 可发现未知的 HTTP 客户端
12. 其他工具
- Compose:编辑修改请求
- Repeat:重复发送请求
- Repeat Advanced:高级重复(可设置迭代次数和并发数)
- Validate:通过 W3C 验证器验证响应
- Publish Gist:将请求/响应发布为要点
- Import/Export Settings:导入/导出 Charles 设置
- Profiles:管理配置文件的完整副本
六、实用技巧
- 过滤请求:使用 Focus 功能或 Include/Exclude 设置
- 调试 HTTPS:启用 SSL 代理并安装 Charles 根证书
- 性能测试:使用 Throttle 模拟不同网络环境
- 前后端联调:使用 Map Local 或 Map Remote 快速测试
- 自动化测试:通过 Web 界面实现自动化控制
七、注意事项
- 长时间监控时注意内存使用情况,可设置自动保存
- 修改请求时注意请求超时问题
- 使用 SSL 代理需要客户端信任 Charles 证书
- 生产环境谨慎使用,避免敏感信息泄露
通过本指南,您应该能够全面掌握 Charles 的各项功能,并应用于实际的开发和测试工作中。