Charles的简单介绍:
一款基于http协议的代理服务器,通过成为电脑或浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。
特点:
跨平台、半免费(打开要等10s,过30分钟自动关掉)
Charles的工作原理:
运行了charles的电脑就算是代理服务器,客户端可以是手机、电脑,服务器就是客户端想要访问的服务器。
1.首先由客户端发送请求,访问服务器
2.Charles接收后再发给服务端
3.服务端将请求结果返回给Charles
4.Charles转发给客户端
Charles和fiddler的对比
1.charles支持linux和Macos,fiddler对windows比较友好
2.charles支持按域名和按接口查看报文,简洁明了
3.charles支持反向代理,fiddler不支持
4.charles的网络限速可以选择不同的网络类型,fiddler需要手动设置
5.charles可以解析AMF协议
页面介绍
Charles代理设置
(√Windows Proxy是开启windows代理,能抓浏览器的包,当连上手机代理准备只抓手机包的话可以把√点掉,这样就能只显示手机抓到的包)
Charles的访问设置
(写入IP Range的ip可以通过charles访问网络和服务器,也能抓取到相应的报文。
如果不在这里面的ip,那要看Prompt to allow unauthorized connections了,要是勾上了,不在列表的ip访问网络,Charles会有一个提示信息,Charles会提示是否允许这个ip访问网络,有allow 和deny 。如果没有勾上,那么就默认不允许访问)
为什么要抓包分析问题?
应用程序分为前端和后台,测试过程中可能发现问题,然后就能通过抓包工具分析出来这个问题是前端还是后台的问题,然后提交问题单转交给对应的开发人员。提交问题单时,可以把分析的报文直接提交到问题单,开发看到就能确定问题是哪个了。
Charles怎么抓https的包?
安装ssl证书及ssl代理配置
1.Windows证书配置:
然后是https代理配置:
2.MacOs证书配置
Charles流量配置
Reliability:用来配置它的可靠性,可靠性是衡量连接完全失败的可能性。理解成传输的成功率,可能出现丢包的情况。
Stability:设置稳定性的,比如隔几秒时间网络断开这种情况
Charles的断点
作用:构建异常的测试场景
应用:1.比如要新增一个用户,把用户名置为空,请求到服务器;
2. 做查询操作,修改返回的数据;
因为是查询,直接先点Excute,然后修改数据