一、打断点是Fiddler一个比较好用的功能,它可以做一些手工操作很难做的事情。
那为什么要打断点?
看下图,Fiddler打开后,Client(客户端)发送的请求会先经过Fiddler,然后Fiddler再传给Server(服务器),那么Fiddler拦截请求后,可以修改请求的某些值,然后再传给服务器。所以打断点有篡改的作用。
举个栗子:老王去取一百块钱,我把请求拦截下来,然后修改为取一块钱,再把修改后的请求发送给服务器,如果这个银行单单只是做了前端的校验(Client输入多少钱就出多少钱),那么老王就是花了一块钱,领走了一百块钱。
断点分为两种:
- (1)Before Requests:就是Fiddler拦截请求的时候,请求没发送到服务器。
- (2)After Requests:服务器返回响应(response),Fiddler拦截响应,响应返回到客户端前。
二、实例操作
1、Before Requests
这是一个网课预约的课程现在小作文余额为0,那么我充值5个课时,然后打断点把请求拦截下来,然后修改成10个课时。
第一步:
设置Before Requests断点
Rules-> Automatic Breakpoint ->Before Requests
第二步:
到浏览器上给学生充值小作文课时,充值5个课时,这时看Fiddler中多了一个请求,请求中有T的标示,说明断点成功。
找到需要修改的请求后,选中该条会话,右侧打开 WebFroms,这时候里面的参数都是可以
修改的。找到充值课时的参数,把5课时改为10课时。
打断点后,浏览器那边点击提交是没反应的,你会看到浏览器一直在转(等待),只有Fiddler点击Run to Completion后,请求才会到服务器。
或者点击go,让请求通过。
执行完这一步后,取消断点,不然请求无法发出去。
看下结果,这里小作文余额变为10课时了。
2、After Requests:
修改返回的响应信息,这里把title修改一下,原来网站的title是“网课预约系统”
那么现在把title改为“Fiddler断点测试”
第一步:
设置After Requests断点
Rules-> Automatic Breakpoint ->After Requests
第二步:
在网站首页点击刷新,返回的响应被拦截,这时网站处于等待状态。
第三步:
找到请求,在Snytexview中修改title
查看结果,title变为Fiddler断点测试。
三、特定网站中断
上面讲的都是全部中断,那么也可以进行特定网站中断。
1、比如百度网站的Before Requests
- 在命令行中输入:bpu www.baidu.com
- 取消中断,在命令行输入bpu,然后按回车
2、比如百度网站的After Requests
- 在命令行中输入:bpafter www.baidu.com
- 取消中断,在命令行输入bpafter,然后按回车