1、Fiddler断点的应用

通过设置断点,Fiddler可以做到:

  1. 修改HTTP请求头信息。

    例如:修改请求头的User-AgentCookieReferer等信息,通过“伪造”相应信息达到相应的目的(调试,模拟用户真实请求等)。
  2. 构造请求数据,突破表单的限制,进行提交数据,避免页面js和表单限制影响相关调试。
  3. 拦截响应数据,修改响应实体。

    例如:进行极端测试,删除返回的所有数据,查看页面的展示效果。
  4. 断点可以模拟网络中断。

2、断点的分类

断点分为两种:

(1)before response:这个是打在Request请求的时候,未到达服务器之前。

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

3、设置全局断点

全局断点就是中断Fiddler捕获的所有请求。

(1)设置before Requests全局断点:

1)配置

点击Rules —> Automatic Breakpoint —> Before Requests

如下图:

可以使用快捷键F11进行设置。

配置完成后,在状态栏中可以看到如下图标:

2)使用

例如:我们设置了before Requests全局断点,现在访问一个登陆网页,如下:

http://test.lemonban.com/ningmengban/app/login/login.html

情况1:

填写用户名=123456123456,密码=123456,并发送请求。

会显示:手机号码格式不正确。

查看Fiddler后,发现并没有录制到任何请求,说明手机号被前端js进行校验了。

这时我们就需要绕过前端js对手机号的校验,开始执行情况2。

情况2:

填写用户名=18888888888,密码=123456,并发送请求。

发现Fiddler录制了一条请求,但是这条请求和我们之前看到的请求状态有所区别,是因为打了全局的before Requests断点,所有要发出去的请求都被Fiddler拦截了。

如下图:

我们在请求报文中把手机号修改成123456123456,一个12位的数字。

然后可以继续执行该条登陆请求。

  • 方式一:点击工具栏中的Go按钮即可。
  • 方式二:点击Run to Completion来完成请求。

    设置断点后,在Inspectors界面中会增加一行操作栏。如上图所示:

    • Break on Response:可以继续在响应数据返回客户端前加断点。
    • Run to completion:按照更改参数后继续提交请求。
    • Choose Response...:是一个下拉菜单,里面有各种返回的HTTP响应,可以选择特定的响应返回,也可以按照自己自定义的特定文件来返回数据。

请求完成之后我们可以查看返回结果,如下图:

可以从上图中看出,我们输入的12位数字,后台并没验证出手机号码格式不正确。也就是说,我们绕过前端的验证,直接访问了服务端的接口。

由此可见,我们的断点已经设置成功,并且成功修改了HTTP的请求数据。

(2)设置After Responses全局断点:

1)配置

点击Rules —> Automatic Breakpoint —> After Responses

如下图:

可以使用快捷键Alt+F11进行设置。

配置完成后,在状态栏中可以看到如下图标:

2)使用

例如:我们设置了After Responses全局断点,现在访问一个登陆网页,如下:

http://test.lemonban.com/ningmengban/app/login/login.html

填写用户名=18888888888,密码=123456,并发送请求。

发现Fiddler录制了一条请求,如下图:

我们把返回数据的message信息改成“登陆成功”,然后点击Run to Completion继续完成请求。

请求完成之后,我们进入到Inspectors界面中,查看请求的实际返回数据。

如上图所示,说明请求返回数据的内容,被我们成功修改了。

4、设置局部断点

当我们已经知道了某个接口的请求地址,而且只需要针对这一条请求进行断点调试,这时就可以设置局部断点了。

(1)设置before Requests局部断点:

在命令行中输入指令: bpu login

这个RequestURI breakpoint for login就表示所有URL中有login的请求都会被拦截。

说明我们的before Requests局部断点就设置完成了。

说明:bpu命令后可以加完整的URL路径,也可以加局部的URL路径,URL路径越完整,拦截越精确。

继续访问http://test.lemonban.com/ningmengban/app/login/login.html

填写用户名=18888888888,密码=123456,并发送请求。

可以看到URL中包含login的请求被拦截了。

之后的操作和上面全局断点的操作一样,这里就不演示了。

最后取消设置的before Requests局部断点,就是在命名行直接输入bpu回车即可,后面不用加任何内容。

之后状态栏显示RequestURI breakpoint deared,即断点被解除。

(2)设置After Responses局部断点:

在命令行中输入指令: bpafter login

这个ResponseURI breakpoint for login就表示所有URL中有login的响应都会被拦截。

说明我们的After Responses局部断点就设置完成了。

说明:bpu命令后可以加完整的URL路径,也可以加局部的URL路径,URL路径越完整,拦截越精确。

继续访问http://test.lemonban.com/ningmengban/app/login/login.html

填写用户名=18888888888,密码=123456,并发送请求。

可以看到URL中包含login的响应被拦截了。

之后的操作和上面全局断点的操作一样,这里就不演示了。

最后取消设置的After Responses局部断点,就是在命名行直接输入bpafter回车即可,后面不用加任何内容。

之后状态栏显示ResponseURI breakpoint deared,即断点被解除。

『言善信』Fiddler工具 — 13、Fiddler断点功能的使用详解的更多相关文章

  1. 『言善信』Fiddler工具 — 2、HTTP请求内容详解

    目录 1.HTTP协议介绍 2.使用Fiddler抓取一个请求 3.НТТP请求报文 (1)НТТP请求报文说明 (2)请求行 (3)请求头(Request Header) (4)请求体 4.НТТР ...

  2. 『言善信』Fiddler工具 — 1、Fiddler介绍与安装

    目录 1.Fiddler简介 2.Fiddler功能 3.Fiddler工作原理 (1)先来了解一下B/S架构 (2)Fiddler工作原理 (3)Fiddler工作原理进阶说明 (4)以Google ...

  3. 『言善信』Fiddler工具 — 3、Fiddler界面布局详解【菜单栏】

    目录 (一)Fiddler界面布局介绍 (二)菜单栏 1.File文件菜单: 2.Edit编辑菜单: 3.Rules规则菜单: 4.Tools工具菜单: 5.View视图菜单: 6.Help帮助菜单: ...

  4. 『言善信』Fiddler工具 — 4、Fiddler面布局详解【工具栏】

    目录 (一)工具栏详细介绍 1.第一组工具: 2.第二组工具: 3.第三组工具: 4.第四组工具: (二)工具栏使用说明 1.Fiddler修改代理端口: 2.过滤Tunnel to...443请求链 ...

  5. 『言善信』Fiddler工具 — 6、Fiddler界面布局详解【命令行和状态栏】

    目录 1.命令行 2.状态栏 1.命令行 命令行在Fiddler的左下方的黑色窗口,也叫QuickExec,可以调用 Fiddler的内置命令. 这一系列内置的函数用于筛选和操作会话列表中的sessi ...

  6. 『言善信』Fiddler工具 — 15、使用Fiddler抓取HTTPS请求

    目录 1.Fiddler抓取HTTPS过程 2.拓展:SSL/TLS证书握手原理 3.Fiddler抓取HTTPS原理总结 4.Fiddler抓取HTTPS设置 步骤1:配置证书 步骤2:勾选设置 5 ...

  7. 『言善信』Fiddler工具 — 17、Fiddler常用插件(Willow)

    目录 1.Traific Difer插件 2.PDF View插件 3.JavaScript Formatter插件 4.CertMaker for iOS and Android插件 5.Synta ...

  8. 『言善信』Fiddler工具 — 11、Fiddler中Composer功能详解

    目录 1.Composer功能介绍 2.Composer界面说明 3.使用方式 (1)自定义Request请求 (2)Composer重复发送请求 (3)Composer篡改请求数据 1.Compos ...

  9. 『言善信』Fiddler工具 — 5、Fiddler界面布局详解【会话列表】

    目录 1.会话列表说明 2.会话列表不同颜色的含义 3.会话列表图标说明 4.会话列表应用设置 (1)给Fiddler会话列表增加IP列 (2)添加自定义列 (3)添加完成请求时间 (4)其他操作 1 ...

随机推荐

  1. [CTF]Brainfuck/Ook!编码

    [CTF]Brainfuck/Ook!编码 ---------------------  作者:adversity`  来源:CSDN  原文:https://blog.csdn.net/qq_408 ...

  2. [CTF]栅栏密码学习

    [CTF]栅栏密码学习 即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码.栅栏密码是一种置换密码. 例如密文:TEOGSDYUTAENNHLNETAMS ...

  3. Portswigger web security academy:Clickjacking (UI redressing)

    Portswigger web security academy:Clickjacking (UI redressing) 目录 Portswigger web security academy:Cl ...

  4. 【Bootstrap5】精细学习记录

    [Bootstrap5]精细学习记录 Bootstrap模板 <!DOCTYPE html> <html> <head> <title>Bootstra ...

  5. [Qt] 事件机制(一)

    事件主要分为两种: 在与用户交互时发生.比如按下鼠标(mousePressEvent),敲击键盘(keyPressEvent)等 系统自动发生,比如计时器事件(timerEvent)等 每种事件对应一 ...

  6. [刷题] PTA 6-10 阶乘计算升级版

    要求: 实现一个打印非负整数阶乘的函数 N是用户传入的参数,其值不超过1000.如果N是非负整数,则该函数必须在一行中打印出N!的值,否则打印"Invalid input" 1 # ...

  7. linux下dmidecode命令获取硬件信息

    linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI ...

  8. 2.Python入门-计算机组成、指令和程序、标识符、变量、数据类型、对象和变量关系、运算符

    一.计算机的组成 计算机由两部分组成:硬件 和 软件 硬件包含:键盘.鼠标.显示器.CPU.主板.内存.硬盘 ... -硬件是看的见摸得着的 软件包含:系统软件(windows.macOS.Linux ...

  9. 《SystemVerilog验证-测试平台编写指南》学习 - 第3章 过程语句和子程序

    <SystemVerilog验证-测试平台编写指南>学习 - 第3章 过程语句和子程序 3.1 过程语句 3.2 任务.函数以及void函数 3.3 任务和函数概述 3.4 子程序参数 3 ...

  10. 8.4 parted:磁盘分区工具

    parted     对于小于2TB的磁盘可以用fdisk和parted命令进行分区,这种情况一般采用flisk命令,但对于大于2TB的磁盘则只能用parted分区,且需要将磁盘转换为GPT格式. p ...