zoukankan      html  css  js  c++  java
  • Fiddler抓包8-打断点(bpu)

    前言

    先给大家讲一则小故事,在我们很小的时候是没有手机的,那时候跟女神聊天都靠小纸条。某屌丝A男对隔壁小王的隔壁女神C倾慕已久,于是天天小纸条骚扰,无奈中间隔着一个小王,这样小王就负责传小纸条了。有一天小王忍不住偷偷打开A男表白的纸条,把里面内容改了下,改成了:我的同桌小王喜欢你。最后女神C和小王走在了一起。。。这是一个悲伤的故事!

    一、断点

    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官网手册

  • 相关阅读:
    Educational Codeforces Round 20 D. Magazine Ad
    Educational Codeforces Round 20 C. Maximal GCD
    紫书第三章训练2 暴力集
    Educational Codeforces Round 20 B. Distances to Zero
    Educational Codeforces Round 20 A. Maximal Binary Matrix
    紫书第三章训练1 D
    紫书第一章训练1 D -Message Decoding
    HAZU校赛 Problem K: Deadline
    Mutual Training for Wannafly Union #8 D
    紫书第三章训练1 E
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/9159184.html
Copyright © 2011-2022 走看看