抓包工具fiddler都有哪些高级功能,一文带你全面了解它( 六 )


抓包工具fiddler都有哪些高级功能,一文带你全面了解它

文章插图
 
这个命令输入框中支持很多命令,其中就包括断点的命令 ,那么具体都包含哪些断点命令?我们不妨先输入个bp试试看 。
抓包工具fiddler都有哪些高级功能,一文带你全面了解它

文章插图
 
也就是说设置断点的命令支持如下四个命令
  • bpu :这个命令可以理解为bpurl的缩写 。产生的效果和上面的befor Request是一样的,也就是说既可以修改请求数据,也可以修改响应数据 。当在命令输入框内输入:bpu +空格 + 请求的URL + 回车 , 那么符合条件的url相对应的请求就会被中断。
  • bpm : 这个命令就相当于bpmethod,所以在输入框输入:bpm +空格+ 请求方法+ 回车,那么符合条件的请求方法相对应的请求就会被中断。
  • bps : 这个命令就是bpstatus的缩写,在输入框输入:bps + 空格 + 响应状态码 + 回车,符合条件的状态码的相对应请求就会被中断。
  • bpafter :这个命令和上面after responses效果一样,只能修改响应数据。当然这个命令也可以输入bpa,两者的效果 。在输入框输入:bpafter + url + 回车,符合条件的url就会被中断。
需要说明的是,以上通过命令设置断点,也可以通过命令清除断点,清除断点只需要输入关键词就可以了,比如我通过bpu 设置的断点,那么清除断点时只需要输入bpu回车即可。
修改请求若按照上面条件设置断点后,符合条件的请求就会中断,这时选中一个中断的请求,点击Inspectors后,你就看有下面的这个图
抓包工具fiddler都有哪些高级功能,一文带你全面了解它

文章插图
 
以上这个截图有三个可操作的按钮,分别是:
  • Break on Response : 点击后,该请求在返回给客户端前设置断点,这时就只能修改响应数据了。
  • Run to Completion : 点击该按钮后,不管是否对数据做了修改,都将会返回数据客户端,如果修改了,客户端收到的数据也是修改后的数据 。
  • Choose Response : 除了上面直接修改响应数据外,也可以选择预定义好的数据作为响应数据。
案例说明
案例1:在禅道的登录页面,将该请求的正确密码修改为错误的密码,使其返回登录失败的提示。
实现思路:在命令输入框中输入bpu
https://demo.zentao.net/user-login.html后回车,将请求数据中的密码修改成错误的密码即可 。
抓包工具fiddler都有哪些高级功能,一文带你全面了解它

文章插图
 
案例2:使用请求方法过滤,在禅道登录页面,通过修改响应数据使其跳转到测试页面(备注:禅道登录成功后默认跳转的是我的地盘页面) 。
实现思路:命令输入框中输入: bpm post后回车,修改登录成功地返回数据,将跳转路径指向测试页面地址即可 。
抓包工具fiddler都有哪些高级功能,一文带你全面了解它

文章插图
 
案例3:将接口返回的数据修改为预定义数据后返回 。
实现思路:需要在本地新建一份预定义数据,设置打断点后,加载预定义数据即可。
抓包工具fiddler都有哪些高级功能,一文带你全面了解它

文章插图
 
综上案例可以看出,通过fiddler的断点功能,我们既可以修改发送服务器的请求数据,也可以修改返回给客户端的响应数据。那么再回到本文开头的话题,很多情况下,测试数据难以构造,那么就可以通过这个功能随便修改各类数据 ,以满足我们的测试需求。
快速执行(QuickExec)当我们使用fiddler进行抓包时,经常会出现大量的请求在窗口滚动出现,这时就很难找到我们所关注的请求 。那最好的办法就是通过筛选条件找到我们想要的请求,在fiddler中也提供了快速查找请求功能。就是在左下角的快速执行栏中输入命令进行查询。
功能入口
快速执行命令框如下图所示,在此命令输入框内可以输入各种命令,其主要包括请求筛选查询、设置断点、以及一些其它命令。
抓包工具fiddler都有哪些高级功能,一文带你全面了解它

文章插图
 
接下来先介绍两个快捷设置命令 。