本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32116
一、Charles
1.1 简介
- Charles是一款跨平台的代理工具。Mac、Window、Linux都可以使用。
- Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络请求都通过它来完成,从而实现了网络数据包的截取和分析。
1.2 主要功能
- 支持SSL代理,也称为HTTPS代理,是一种通过SSL协议来处理客户端与目标服务器之间的数据传输的代理服务器;
- 支持流量控制,是一种网络管理技术,用于优化网络性能、保证服务质量,并防止网络堵塞;
- 支持重发网络请求,方便后端调试;
- 支持修改网络请求参数;
- 支持网络请求的截获,并动态修改;
- 支持自动将json或xml数据格式化,方便查看。
1.3 基本使用
1.3.1 安装
- Charles 官网:https://www.charlesproxy.com/
1.3.2 界面介绍
- 菜单栏:
- File:session相关操作。
- Edit:基础复制粘贴之类的操作。
- View:选择要查看的界面。
- Proxy:
- 抓包:recording
- 抓 https 包:ssl proxying
- 网络限速:throttling
- 断点:breakpoint
- 系统代理功能:macOS/Windows
- tools
- map remote:请求转发,修改相应;
- map local:请求映射至本地数据;
- rewrite:重写修改请求与相应。
- 主导航栏:
- 左侧:
Structure:视图将网络请求按访问的域名分类。
Sequence:视图将网络请求按访问的时间排序。
- 右侧:展示某一接口的请求内容,可以切换导航栏查看请求的各种详细情况。
- Overview:会展示该请求的一个大体情况,如请求头、请求响应结束时间、请求开始时间,以及用户的notes等。
- Content:如上图所示,该请求的具体内容和服务器的响应内容(配合下面的导航栏查看具体内容header,cookies,选择呈现方式form,raw)。
- Summary:也是展示一个该请求的大体资源分布情况。例如:服务响应时间、host是什么等等。
- Chart:以表格形式告诉我们一个响应时间的分布情况。
- Notes:可以对请求记录一些笔记,方便后续查看用途。
1.3.2 证书配置
1. 基础设置
2. 证书安装
(1)电脑证书配置
(2)Mac系统安装证书
Help
→SSL Proxying
→Install Charles Root Certificate
;- 进入钥匙串;
- 信任证书(注意:选择始终信任)。
(3)Windows系统安装证书 Help
→SSL Proxying
→Install Charles Root Certificate
;- 进入证书导入向导,点击安装证书;
- 选择本地计算机,点击下一步按钮;
- 将所有的证书都放入下列存储,点击浏览按钮;
- 点击受信任的根证书颁发机构,点击确定按钮;
- 一直点击下一步;
- 出现安全警告时点击是;
- 显示导入成功。
3. Charles端设置SSL
Proxy
→ SSL Proxying Settings
。
4. 移动端代理配置(真机)
- 设备和电脑处于同一
WIFI
(模拟器不需要配置); - 进入
Proxy
→Proxy Setting
,勾选Enalbe transparent HTTP proxying
(可以抓取移动设备的数据包);
- 查看代理 IP 地址与端口;
5. 移动端代理配置(MuMu模拟器)
- 进入 mumu 的网络设置:
设置
–网络
;长按
连接的网络弹出窗口;修改网络
;
- 设置好之后,在上方更多中选择保存:
- 安装证书:
chls.pro/ssl
;
- 在系统浏览器中输入这个网址,就可以自动下载 charles 证书,然后点击下载好的证书就可以直接安装了。
- 允许远程代理。
- 在 charles 中出现的弹窗中,点击
allow
,这样 charles 代理就设置成功了。
6. iOS系统配置代理
- 进入设置,配置代理:
设置
→网络
→配置代理
→手动
;- 服务器:电脑 IP;
- 端口:Charles 监听端口(默认 8888)。
- 下载证书:
chls.pro/ssl
- 在系统浏览器中输入这个网址,就可以自动下载 charles 证书。
- 安装证书:
通用
→VPN 与设备管理
→选择 Charles Proxy CA
→点击安装
。
- 信任证书:
通用
→关于本机
→证书信任设置
→打开 Charles Proxy CA 开关
。
- 允许远程代理:
- 在 charles 中出现的弹窗中,点击
allow
,这样 charles 代理就设置成功了。
7. 注意事项
Android 6
以上的系统 app 默认不信任抓包证书;
- 需要开发修改代码;
- 大部分测试 app 安装包默认打开状态;
iPhone 10
系统以上需要在设置
→通用
→关于本机
→证书信任设置
中打开信任开关。