安装
https://www.cnblogs.com/wenjun145/p/12995535.html
介绍
主要特点
- SS代理,以纯文本形式查看SSL请求和响应
- 宽带限制,以模拟较慢的互联网连接,包括延迟
- AJAX调试,可以将XML和JSON请求和响应视为树或文本
- AMF调试,可以将Flash Remoting或Flex Remoting
- 支持重发网络请求
- 支持修改网络请求参数以测试不同的输入
- 截获和编辑请求或响应的断点
- 检查HTML,CSS和RSS内容是符合W3C标准
Charles主界面
主导航栏
1.清除请求数据
2.开始/取消抓包
3.打开/关闭弱网,可以看页面在低网速下的表现,从而找出需要优化的点
4.设置
5.开启/关闭断点,可以修改响应返回值,测试数据是否正确验证
6.修改请求数据,修改参数值,进行测试验证
7.重发模拟请求
8.校验返回的请求
9.工具栏
请求栏
Charles 主要提供两种查看封包的视图分别名为 “Structure” 和 “Sequence”
Structure 视图将网络请求按访问的域名分类
Sequence 视图将网络请求按访问的时间排序
通过域名进行请求过滤
PC端抓包
- 启动Charles会自动与浏览器设置代理,通过浏览器发送网络请求,Charles会直接抓取到这些信息和响应信息。不需要抓取Windows的话,只需要不启用Windows代理就可以。下图所示:
- 证书安装:Help -> SSL Proxying ->Install Charles Root Certificate,下图所示:
- 菜单中找到 proxy -> SSL proxy setting -> 勾选Enable SSL Proxying -> locations 里 添加一个 host 为*的 通配符 即可通配所有域名,下图所示:
完成以上操作PC端就可以轻松抓包了
过滤网络请求
方法一:在主界面中Filter栏中填入需要过滤的关键字。下图所示:
方法二:在 Charles 的菜单栏选择Proxy–>Recording Settings,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包。下图所示:
方法三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,下图所示:
模拟弱网环境
- 菜单中Proxy–>Throttle Settings打开网络设置页面,下图所示:
- 勾选Enable Throttling开启限制网速功能,Throttling preset中可以选择工具配置网络状况,下图所示:
配置参数:
Bandwidth——宽带定义数据可以传送超过时间上限,这是千比特每秒指定。可以指定上载和下载链接的不同带宽限制
Utilisation——宽带可用率
Round-trip latency——延迟,单位是MS
MTU——最大传输单元,即TCP包最大的是size,可以更真实的模拟TCP层每次传输的分包情况
Reliability——连接的可靠性,用于模拟网络不稳定Stability——连接稳定性,也会影响宽带可用性,用于模拟移动网络,移动网络连接一般不可靠
Unstable quality range——不稳定质量范围,要针对于Stability中设置中的范围
- 勾选主菜单中的小乌龟,连接Charles的客户端就可以模拟弱网环境了。下图所示:
断点修改请求数据&响应数据
断点
- 找到我们需要断点的接口右击,选择Breakpoints,下图所示:
- 主导航栏Proxy-->Breakpoint Settings,勾选Enable Breakpoints,双击需要断点的接口,出现Edit Breakpoint窗口,将Query替换为*号点击ok,下图所示:
完成以上操作后断点就配置成功了
修改请求数据
断点设置成功后再次请求该接口会出现以下页面,双击我们需要修改的数据来修改内容,修改完成后点击Execute ,下图所示:
修改完成后再次请求接口就可以看到我们请求的数据修改成功了
修改响应数据
首先执行断点,在修改response的时候,只勾选response,然后再次请求接口,会出现 Edit Response,修改Response的数据后点击Execute,之后就可以在页面上看到我们修改的数据了,下图所示:
请求重定向:
方法一:Charles 的菜单中,选择 Tools–>Map Remote,勾选Enable Map Settings后点击Add,添加需要重定向的接口。下图所示:
方法二:选择需要重定向的接口右击选择Map Remote,添加需要重定向接口保存后重新访问接口。下图所示:
请求重定向到本地文件
方法一:Charles 的菜单中,选择 Tools–>Map Local,勾选Enable Map Local后点击Add,添加需要重定向的本地接口文件,完成后重新访问接口即可。下图所示:
方法二:
- 选中需要修改的接口,右键选中Reponse将接口文件保存下来,下图所示:
- 本地打开文件,修改我们需要修改的内容并保存
- 修改好数据后,再回到Charles工具,右键选中第一步中抓取的接口,点击Map Local(此时Edit Mapping中的内容已经默认填充好了,如果想保存的文件的内容作用于所有参数,那么需要删除query框默认填充的内容,但是如果只想作用于特定的接口,那么可以带上默认的填充内容),下图所示:
完成以上操作后再访问一次接口就可以看到我们修改的数据了。