常用功能?
1、为什么能抓包
代理服务器,模拟客户端向服务端发送请求。
2、抓包
2.1抓APP的包,手机和电脑在同一个局域网,然后cmd命令ipconfig查看IP,手机代理服务器设置为IP地址,端口号8888,保存
2.2抓web的包;三大设置,1:安装证书-:tools-options-https,全部勾选
2:自动解压HTTP响应--点击decode,这样就会自动解压HTTP响应,否则我们看到的HTTP响应是乱码
3:隐藏”Tunnel to “请求,步骤:rules-Hide CONNECIS,这样Fiddler就不会捕获大量无用的握手验证请求。我们抓包是为了看HTTP请求和响应的数据内容,而不关心HTTPS的通信是怎么建立的。
2.3抓HTTP的包,
2.4抓HTTPS的包,需要下载安装信任CA证书
2.5 抓不到包的原因:前端设置隐藏,所以抓不到包
3、改包--下断点
方法1,rules--before requests改请求,rules--after responses改响应
方法2,左下角黑色输入框,bpu+域名--该请求,bpafter+域名--改响应
方法3,左下角点一下,红色“T”图标是 改请求,再点一下“D”图标是 改响应
4、分析包
1、判断前后端是否做了校验,前端是抓不到包,友好提示,后端根据请求内容返回正确的响应信息
2、定位BUG,用Fiddler抓包,请求有问题就是前端问题,响应有问题就是后端的问题;
看请求参数和响应参数,请求参数有问题是前端问题,响应参数有问题就是后端问题;
去看下数据库,如果和数据库不一致也是后端的问题。
4、弱网测试
1、Fiddler中script,找到上传和下载的两行代码(搜索kb),修改网速,然后保存就可以了
2、项目比较急的话,会用手机自带的2G、3G、4G、5G和WiFi进行测试
3、还有腾讯的qnet,修改网速,保存也可以
5、筛选
1、点击Filters,
2、点击show only the following hosts,
3、勾选use Filters,
4、输入框填写要抓包的域名,如果要抓多个位置的包,填写多个域名,多个域名用英文分号 ; 隔开
5、点击actions,就可以筛洗了
6、埋点
用Fiddler抓取埋点字段,在用户行为管理系统中查询该字段,以及数据库查询埋点字段,查到就是埋点成功,查不到埋点失败
7、mock数据
7.1、使用场景?
1、无法控制第三方系统接口的返回,返回的数据不满足要求
2、依赖系统还未开发完成,就需要对被测系统进行测试
3、模拟一些异常场景,比如服务器崩溃,返回503状态码
7.2、步骤?
1、创建一个tx文件,将目标响应数据写入进去,注意:保存格式为utf-8,否则响应数据可能会乱码
2、点击目标请求---点击右侧的’autoresponder‘--'enable rules'
3、点击add rules,rule editor 下方选择 find a file
7、常见的content-type:文本格式,图片格式,应用格式
文本格式:text/html:HTML格式
text/plain:纯文本格式
text/xml:XML格式
图片格式:image/gif:gif格式
image/jpeg:jpg格式
image/png:png图片格式
应用: application/xhtml+xml:XHTML格式
application/xml:XML格式
application/atom+xml:Atom XML聚合格式
application/json:JSON格式
application/pdf:pdf格式
application/msword:word文档格式
application/octet-stream:二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded: