Fiddler 抓包打断点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fiddler 抓包打断点相关的知识,希望对你有一定的参考价值。

参考技术A 一、断点

1.为什么要打断点呢?

比如一个购买的金额输入框,输入框前端做了限制100-1000,那么我们测试的时候,需要测试小于100的情况下。很显然前端只能输入大于100的。这是我们可以先抓到接口,修改请求参数,绕过前端,传一个小于100的数,检查服务端的功能是否OK。

也就是说接口测试其实是不需要管前端的,主要测后端的功能。Fiddler作为代理服务器的作用其实就相当于上面故事里面的小王,传纸条的作用,Fiddler(小王)修改了请求参数(小纸条),是为了验证服务端功能(女神C)。

2.Fiddler可以修改以下请求

--Fiddler设置断点,可以修改HTTP请求头信息,如修改Cookie,User-Agent等

--可以修改请求数据,突破表单限制,提交任意数字,如充值最大100,可以修改成10000

--拦截响应数据,修改响应体,如修改服务端返回的页面数据

二、断点的两种方式

1.before response:这个是打在request请求的时候,未到达服务器之前

--屌丝A传给小王的时候,小王在这个时候拦截了小纸条,未传给女神C

2.after response:也就是服务器响应之后,在Fiddler将响应传回给客户端之前。

--女神C回了小纸条,小王拿到后拦截了,未传给屌丝A

三、全局断点

1.全局断点就是中断fiddler捕获的所有请求,先设置下,点击rules-> automatic breakpoint  ->before requests

2.选中before requests选项后,打开博客园首页:http://www.cnblogs.com/yoyoketang/,看到如下T的标识,说明断点成功

3.打完断点后,会发现所有的请求都无法发出去了,这时候,点下Go按钮,就能走下一步了

4.找到需要修改的请求后,选中该条会话,右侧打开WebFroms,这时候里面的参数都是可以修改的了

5.修改之后点Run to Completion就能提交了,于是就成功修改了请求参数了

6.打全局断点的话,是无法正常上网的,需要清除断点:rules-> automatic breakpoint  ->disabled

四、单个断点

已经知道了某个接口的请求地址,这时候只需要针对这一条请求打断点调试,在命令行中输入指令就可以了

请求前断点(before response):  bpu

1. 论坛登录接口:https://passport.cnblogs.com/user/signin

2. 命令行输入:bpu https://passport.cnblogs.com/user/signin 回车

 3.请求登录接口的时候,就会只拦截登录这个接口了,此时可以修改任意请求参数

4.取消断点,在命令行输入:  bpu  回车就可以了

响应后断点(after  requests):  bpafter

1. 论坛登录接口:https://passport.cnblogs.com/user/signin

2. 在命令行输入:bpafter https://passport.cnblogs.com/user/signin 回车

3.登录博客园,会发现已经拦截到登录后服务器返回的数据了,此时可以修改任意返回数据

4.取消断点,在命令行输入:  bpafter  回车就可以了

五、拦截来自某个网站所有请求

1.在命令行输入:bpu www.cnblogs.com

2.打开博客园任意网页,发现都被拦截到了

3.打开博客园其他网站,其它网站可以正常请求

4.说明只拦截了来自部落论坛(www.cnblogs.com)的请求

5.清除输入bpu回车即可

 六、命令行其它相关指令

Bpafter, Bps, bpv, bpm, bpu

这几个命令主要用于批量设置断点

Bpafter xxx: 中断  URL  包含指定字符的全部  session  响应

Bps xxx: 中断 HTTP 响应状态为指定字符的全部 session 响应

Bpv xxx: 中断指定请求方式的全部  session  响应

Bpm xxx: 中断指定请求方式的全部  session  响应 、、同于 bpv xxx

Bpu xxx:与bpafter类似

当这些命令没有加参数时,会清空所有设置了断点的HTTP请求。

更多的其他命令可以参考Fiddler官网手册

(赠言:打断点仅供测试需要,勿走歪门邪道!!!)

原文:https://www.cnblogs.com/yoyoketang/p/6778006.html

Fiddler打断点

一、打断点是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,然后按回车








以上是关于Fiddler 抓包打断点的主要内容,如果未能解决你的问题,请参考以下文章

Fiddler抓包8-打断点(bpu)

Fiddler抓包12-AutoResponder返回本地数据(mock)

fiddler之模拟响应、修改请求或响应数据(断点)

fiddler断点测试修改响应指令有啥作用

Fiddler打断点

网络安全攻防之破解小程序积分制度(Fiddler抓包教程实战)文末含彩蛋