1、抓包的目的
遇到问题需要进行分析
发现bug需要定位
检查数据传输的安全性
接口测试时,开发给的需求文档不详细
在弱网环境下APP的测试
2、Charles是java语言编写的程序,本质是一个代理服务器,通过拦截服务端和客户端的http请求,来达到抓包的目的
3、Charles工具栏常用的功能和视图
4、抓包代理设置
在使用Windows操作系统的情况下,使用谷歌或IE浏览器,Charles默认会开启代理模式,
火狐浏览器可以通过配置成为系统代理,或者手动添加
配置后就可以抓取报文了,overview是报文是概览信息,comments包含了输入的参数,以表格形式展示,可以查看请求响应携带的参数等等
5、compose篡改数据
进行数据篡改的目的,是为了绕过前端的页面校验,直接绕到后端进行安全性,数据性检查
点击Tools->compose或者笔形状的ui,就可以修改报文携带的参数信息,然后点击execute执行,发送该报文
6、断点测试
在程序的某一个地方设置断点,在程序请求,响应的过程中,通过修改参数,来定位错误发生的地方或问题所在,主要运用于接口测试。
断点测试可以通过接口的返回数据来确认是前端还是后端的问题,通过更改请求响应参数,可以快速构造测试数据。
操作断点的步骤:
拦截到请求后,就会在Charles中显示一个断点页,在右侧可以Edit进行编辑,可以更改请求参数或响应消息
7、抓取https协议的报文和弱网测试
因为https是加密传输,在Charles抓报文时,要导入证书才可以
弱网测试:
自己配置弱网环境,各参数含义如下:
8、各个抓包工具的对比