Fiddler使用总结
工具栏解释:
- 小气泡:给fiddler捕抓到的会话增加备注
- replay: 回放请求,选中一个http请求,点击replay,会对此请求进行一次回放。按住“shift”鼠标点击“replay”在弹出框可以填写并发请求次数。出现下图对话框
- 清空x:清空监控面板,其筛选功能可选择性的清空
- Go:在请求的断点时让这个断点继续往下走,类似于debug
- Stream、decod(解码用,如:请求中有zip的请求可以解码)未用过
- keep:保持会话 默认是保持all的,但是会话越多,fiddler占用机器的内存越大
- 靶心:过滤请求,比如说只想看到chrome的请求,按住靶心,打开chrome浏览器,选择chrome,此时在其他浏览器上的请求都不会被捕获到,非常实用
- find:查找功能,选择要查找的,并可设置返回的结果显示为特定的颜色
- save:暂未使用过10、相机图标:点击保存当前fiddler页面图片
11、时钟图标:计时工具。
12、Browse:快速打开浏览器
13、.clear cache:清除浏览器缓存
14、Tearoff :浮窗右边的面板
监控面板使用&解释:
1、statistics:数据统计。
2、inspectors:对请求解包。目前我最常用的
3、autoresponder:暂未研究该功能,后续研究后在说
4、composer:可进行接口调试。选择一个请求,把请求拖进composer,然后请求的所有参数就都暴露出来了,可以通过直接修改请求的参数,按execute,伪造一个请求,重新向服务器发送请求,这样就可以在不写js代码的情况下,和服务端调试
如果把请求从get改为post,可在下面的request body里面书写请求内容
篡改请求&响应
使用fiddler原理图:
- 篡改请求内容:
设置请求断点:Requests方法:Rules---->Automatic Breakpoints---->Before Requests,如图一,或者点击1下底部这个地方,图2.
,
以APP意见反馈为例,修改请求前数据内容,比如提交的内容如下:
点击“提交”,此时请求被fiddler拦截掉,将右侧requests body里面的字段“content”内容前新增内容:“测试”,然后点击Run to Completion,点击工具栏中的“Go”放过其他请求。
在我的意见反馈中查看刚刚提交的内容:
- 篡改响应数据:
(1)、设置响应断点:Rules--Automatic breakpoints--after response。或点击上图2处2下。
(2)选中请求,进入响应--TextView中修改响应信息
在这一步时一定要注意如果有“response body is encoded.click to ecode显示时,一定要先点击后,再去修改响应数据。未操作直接修改响应数据后,会导致响应存在问题。
(3)、在修改响应数据后,点击Run to Completion返回响应数据,完成操作。
如:请求APP首页接口,修改响应的“我的积分”字段。
修改前:
修改后:
常用测试场景:
- 抓包
- 弱网
- 并发
- 安全
- 篡改数数据引用场景举例:如接口返回数据为第三方数据,数据库不在自己团队,无法对异常场景测试。此时篡改接口返回数据,如空数据、数据格式、异常数据等