模式切换
基本介绍
用途和作用
Charles 是一款跨平台的网络抓包工具,广泛用于调试和分析 HTTP、HTTPS 网络请求。它通过将自己设置为代理服务器,截获并显示网络请求和响应的详细信息,帮助开发者和测试人员监控网络流量,解决前后端交互中的问题。主要作用包括:
- 抓包和分析:截获和分析网络请求的各个细节,包括请求头、响应体、状态码等。
- 调试 HTTP/HTTPS 请求:对前后端交互中的 API 调用进行深入调试,查找问题。
- 模拟网络环境:可以模拟慢速网络,测试应用程序在不同网络条件下的表现。
- 修改请求和响应:允许开发者修改网络请求的参数或响应结果,验证接口的灵活性。
- 移动应用抓包:特别适用于调试移动应用(如 iOS 和 Android)的网络请求。
下载与安装
访问 官网 - Download。根据自己的操作系统下载对应的安装包,然后按照提示进行安装。
访问 Charles 注册码生成器 生成注册码,完成注册即可。
界面介绍及基本功能
工具栏
Charles 的工具栏位于界面的顶部,主要用于快速访问常用功能。常见的按钮和功能包括(从左至右):
- Clear the current session:清除当前会话的所有请求记录,开启新的会话。
- Start/Stop Recording:开始或停止记录网络请求,用于控制是否截获网络请求。
- Start/Stop SSL Proxying:开始或停止 SSL 代理,用于截获 HTTPS 请求。
- Start/Stop Throttling:开始或停止模拟网络环境,用于测试应用在不同网络条件下的表现。
- Enable/Disable Breakpoints:开启或关闭断点功能,用于设置是否在请求或响应时暂停,以便进行分析或修改。
- Compose a new request based on the selection:根据选中的请求创建一个新的请求。
- Repeat selected request:重新发送请求。
- Validate selected response:验证响应数据。
- Tools:提供了一些常用的工具,如 Map Remote、Rewrite、Breakpoints 等。
- Settings:设置 Charles 的一些参数,如代理端口、SSL 证书等。
请求列表
请求列表显示了 Charles 代理服务器截获的所有网络请求和响应的记录,按时间顺序排列。它包含了以下信息:
- 域名/IP 地址:显示了请求发送到的服务器。
- 请求路径:显示了请求的具体 API 或资源路径。
- HTTP 状态码:显示了响应的状态码(如 200、404 等)。
- 请求方法:如 GET、POST、PUT 等。
- 耗时:请求与响应之间的时间差,帮助分析网络性能。
用户可以通过点击某条记录,查看该请求的详细信息。
详细信息面板
在点击请求列表中的某个请求后,详细信息面板将展示该请求的所有细节,主要分为以下几个部分:
- 请求:包括请求方法、URL、请求头、请求体等信息。
- 响应:包括响应状态码、响应头、响应体(通常是 JSON 或 HTML)等。
- Cookies:查看和分析请求携带的 Cookies。
- Time:显示请求的时间、响应的时间以及整个过程的耗时情况。
- Body(Raw/Hex):提供了原始数据格式和十六进制查看方式,便于分析复杂的二进制数据。