Fiddler高级用法--设置断点

Fiddler是位于客户端和服务器之间的代理,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

前面介绍了如何使用Fiddler进行抓包和分析,以及如何抓取APP上的数据包。

这里我们介绍下如何修改请求和响应数据,也就是设置断点。

一、对request设置断点

1)通过菜单选项或快捷键F11进行设置,如图

当我们设置断点后,进行HTTP请求,数据包顺序列会有中断的标记,单击该数据包可以看到在右侧会增加一行操作栏。这个时候我们在前端是没有正常加载网页的,点击【Run to Completion】后可以返回响应数据。

接下来为了看我们的断点设置是否生效,我们以登录为例子进行测试。登录无忧行网站,输入正确的用户名和密码,点击登录。我们断点规则设置为before request,然后将密码清空,看看服务器给我们返回了什么响应数据。

继续以登录为例子,这次我们将手机号改成非移动账号进行登录。

 

 由此可见,我们的断点已经设置成功,并且成功修改了前端传到后端的HTTP的请求数据。然后继续向后端发送请求。并且后端会处理修改后的HTTP请求数据并响应。

 2)通过菜单选项或快捷键进行设置时,会将所有的HTTP请求都设置断点,但有时我们只想针对某个服务器发出的请求设置断点,应该怎么操作呢?

Fiddler是支持命令操作的,我们可以通过“bpu 服务器地址”命令来对特定的请求设置断点。

在下图所示的位置输入命令,然后回车运行。

 这个时候从该服务器发出的所有请求都会被中断,而从其他服务器发出的请求可以正常响应。

如果要清除原来的断点,可以在命令行输入“bpu”,就会清除所有的断点。

二、对response设置断点

1)同样的也可以通过菜单选项或快捷键alt+F11进行设置

 2)通过命令“bpafter 服务器地址”

 用一个实例来验证通过设置断点修改响应数据。

以百度主页为例,我们拦截到响应数据中的title值为”百度一下,你就知道“,将响应数据中的title改成”test百度一下,你就知道“,然后在前端查看最终展示。

 

 

 

通过几个实例,更好的帮助我们理解断点的含义,也巩固了Fiddler作为代理服务器的概念。

----------------------------------------------------------------------------------------------------------------------------------------------

总结

 如图,箭头所指的位置时可以点击的。共三种状态:

1.空白:不设置断点。
2.箭头向上:表示断点请求。此时客户端的请求是无法直接到达目标服务器的,需要手动控制。
3.箭头向下:表示断点响应。此时目标服务器的响应是无法直接到达客户端的,需要手动控制。

还有一种打断点的方式

在命令行中输入命令: 

bpu www.baidu.com  (断点请求)

bpuafter www.baidu.com(断点响应)

这种方法只会中断www.baidu.com

断点请求并修改

如图,操作步骤:

  1. 设置断点请求,访问网页
  2. 点击对应的会话
  3. 查看请求报文信息
  4. 修改请求内容
  5. 完成断点,放行,把该请求发送给目标服务器。

图中Break On Response表示把请求发给服务器,但是服务器的响应被fiddler拦截,此时可以修改响应内容(和断点响应类似)

断点响应并修改

和断点请求操作类似,只是在响应区域修改报文信息即可。
在断点响应时,请注意超时时间。

posted @ 2021-06-15 16:35  习久性成  阅读(1020)  评论(0编辑  收藏  举报