一、Charles是什么
Charles是基于http协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的
跨平台:Windows、Linux、mac
半免费
二、Charles工作原理
前置步骤:
1.需要运行Charles并配置代理
2.在客户端上需要配置代理
步骤
1.有客户端发送
2.Charles接受再发送给服务端
3.服务端返回请求结果给Charles
4.由Charles转发给客户端
三、Charles能做什么
1、支持http和https代理
2、支持流量控制
3、支持接口重发请求
4、支持重发网络请求
5、支持断点调试
四、Charles的优点:
fiddler | Charles |
---|---|
只支持Windows | 支持Windows、Linux、macos |
支持按域名、按接口查看报文,简洁明了 | |
支持反向代理 | |
需要自己手动填写 | 网络限速可选择网络类型 |
不支持 | 可以解析AMF协议 |
五、Charles抓包实战
1、用Charles来分析前后端问题
2、通过Charles模拟弱网测试环境
3、使用Charles的断点构建异常的测试场景
需要删除query里面的内容,不然会失败
Charles的Compose功能
在进行接口测试时,临时需要修改请求参数、参数值或者Header等等。
1、找到需要修改参数的链接,右键选择Compose
2、修改参数页面
3、请求结果,不同的接口会有不同的返回结果
过滤网络请求
1、在Sequence界面的中部的Filter栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:*.leautolink.com,那么只需要在Filter栏中填入leautolink即可。(一般用于临时过滤)
2、在Charles的菜单栏选择"Proxy"->“Recording Settings”,然后选择Include栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:(固定过滤地址)