一,Fiddler的强大莫过于设置断点了,设置好断点以后,你可以修改httpRequest的任何信息包括host,cookie或者表单中的数据,这是断点有两种方法
1,请求断点
第一种:打开Fiddler 点击Rules-->Automatic Breakpoint --->Before Requests(这种方法会中断所有的会话)
如何消除命令呢?点击Rules-->Automatic Breakpoint -->Disabled
第二种,在买那个了行中输入:bpu www.baidu.com (这种方法会中断www.baidu.com)
如何消除呢?在命令行中输入命令bpu
不管是第一种还是第二种,其实都是全局性的断点,第一种是对所有的请求进行截断,第二种是针对所有www.baidu.com进行截断
第三种:对单个请求打断点
那我们看一下如何对单个请求设置断点呢?如我们要对登录这个功能进行单个的断点设置:我们只需要在命令行输入bpu 对应的功能路径 回车即可
然后再app上操作相同的登录操作,就可以捕捉到这条请求的信息了,修改如下图
当我们设置完断点后,请求就被拦截在Fiddler了,无法发出去了,这个时候我们选中要修改的请求会话,右侧打开WebForms,就可以在这里修改请求信息了
2,响应断点
第一种使用图形化方法如下;
第二种,通过"bpafter 服务器地址"。通过设置断点修改响应数据,看前端是否是我们修改后的数据
以百度为例,修改响应数据“百度一下,你就知道”为“test百度一下,你就知道”
第一步:在命令行中输入bpafter www.baidu.com,然后回车使其运行
第二步:设置断点--菜单选项After resposes或快捷键Alt+F11
第三步:响应body解码-点击黄色区域进行body解码
第四步:修改title内容
2、在浏览器中查看服务器返回的数据
3,其他指令相关
Bpafter, Bps, bpv, bpm, bpu
Bpafter xxx: 中断 URL 包含指定字符的全部 session 响应
Bps xxx: 中断 HTTP 响应状态为指定字符的全部 session 响应
Bpv xxx: 中断指定请求方式的全部 session 响应
Bpm xxx: 中断指定请求方式的全部 session 响应 、、同于 bpv xxx
Bpu xxx:与bpafter类似
4,请求和响应解码
选中所有,选中后右键选择【send to TextWizard】,然后在【transform】中找到【URLDecode】,字段值就被成功解码
5,保存会话:
为什么要保存会话呢?举个很简单的场景,你在现场测试某个功能接口的时候,发现了一个BUG,而开发这个接口的开发人员是外地的开发,如果我们截图,就不是很方便。如果我们保留会话就会很方便的
我们以某个APP的登录为例,我们先抓取到登录的请求:点左上角File>Save>SelectedSessions>asText,保存到电脑上就是文本格式的:注意这是保存选中回话,我们还可以保存所有会话
打开可以看到以下内
几种保存方式:
1.save-All Sessions :保存所有的会话,saz文件
2.save-Selected Session:保存选中的会话
in ArchiveZIP :保存为saz文件
as Text :以txt文件形式保存整个会话包括Request和Response
as Text (Headers only) :仅保存头部
3.Request:保存请求
ntir Request:保存整个请求信息(headers和body)
Request Body:只保存请求body部分
4.Response:保存返回
Entir Response:保存整个返回信息(headers和body)
Response Body:只保存返回body部分
and Open as Local File:保存Response信息,并打开文件
在保存文件的过程中如果遇到了,乱码的问题,就要重新解码并且重新保存就好了:
6,如何打开保存的会话呢?
比如我们刚刚保存了所有的会话,all.saz文件,这时候我们打开fiddler,然后直接把保存的这个.saz文件直接拖入到会话界面就好了;
也可以通过下图打开
7,如何对于导入的文件重新请求呢,选中请求,点击Replay就可以了,可以选择一个或者多个
如果Fiddler要重复发送某一个接口N次,那么可以选中接口,不断的点击Replay就可以了
8,设置自定义的请求面板(可以在左侧面板看到自己想要的信息),如我想看到请求方式,操作如下;