fiddler常用操作之断点

fiddler常用操作断点

标签(空格分隔): fiddler断点



一、断点:

  • 1.为什么要打断点呢?

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

也就是说接口测试其实是不需要管前端的,主要测后端的功能。

  • 2.Fiddler可以修改以下请求

Fiddler设置断点,可以修改HTTP请求头信息,如修改Cookie,User-Agent等
可以修改请求数据,突破表单限制,提交任意数字,如充值最大100,可以修改成10000
拦截响应数据,修改响应体,如修改服务端返回的页面数据

  • 二、断点的两种方式

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

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

  • 三、全局断点

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

2.选中before requests选项后,打开博客园首页:http://www.cnblogs.com/surewing/看到如下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 回车就可以了

命令行其它相关指令

Bpafter,?Bps,?bpv,?bpm,?bpu
Bpafter?xxx:?中断? URL? 包含指定字符的全部? session? 响应
Bps?xxx:?中断?HTTP?响应状态为指定字符的全部?session?响应
Bpv?xxx:?中断指定请求方式的全部? session? 响应
Bpm?xxx:?中断指定请求方式的全部? session? 响应 、、同于 bpv?xxx
Bpu?xxx:与bpafter类似

会话保存:

为什么要保存会话呢?举个很简单的场景,你在上海测试某个功能接口的时候,发现了一个BUG,而开发这个接口的开发人员是w外地的开发,如果我们截图,就不是很方便。如果我们保留会话就会很方便的;

保存文本

1.以博客园登录为例,抓到登录的请求会话
2.点左上角File>Save>SelectedSessions>asText,保存到电脑上就是文本格式的


3.文本格式的可以直接打开,结果如下图

二、几种保存方式
1.save-All Sessions :保存所有的会话,saz文件
2.save-Selected Session:保存选中的会话
in ArchiveZIP :保存为saz文件
as Text :以txt文件形式保存整个会话包括Request和Response
as Text (Headers only) :仅保存头部

3.Request:保存请求
ntir Request:保存整个请求信息(headers和body)
Request Body:只保存请求body部分
4.Response:保存返回
Entir Response:保存整个返回信息(headers和body)
Response Body:只保存返回body部分
and Open as Local File:保存Response信息,并打开文件

在保存文件的过程中如果遇到了,乱码的问题,就要重新解码并且重新保存就好了:

如何打开保存的会话呢?

比如我们刚刚保存了所有的会话,all.saz文件,这时候我们打开fiddler,然后直接把保存的这个.saz文件直接拖入到会话界面就好了;

也可以如下图,直接导入:

如何对于导入的文件重新请求呢?

1.导入请求后,可以选中某个请求,点击Repaly按钮,重新发请求
2.也可以ctrl+all全部选中后,点Repaly按钮,一次性批量请求

自定义会话框

在使用fiddler抓包的时候,查看请求类型get和post每次只有点开该请求,在Inspectors才能查看get和post请求,不太方便。于是可以在会话框直接添加请求方式。

一、添加会话框菜单
1.点会话框菜单(箭头位置),右键弹出选项菜单

2.选择Customizecolumns选项,Collection选项选择Miscellaneous

3.Field Name选择:RequestMethod

4.点Add按钮即可添加成功

二、隐藏会话菜单

1.选择需要隐藏的菜单,右键。选择Hide this column

2.隐藏后也可以让隐藏的菜单显示出来:Ensure all columns are visble

三、调整会话框菜单顺序

1.如果需要调整会话框菜单顺序,如:Content-Type菜单按住后往前移动,就能调整了

四、会话排序

1.点击会话框上的菜单,就能对会话列表排序了,如点body菜单

2.点完后上面有个上箭头(正序),或者下箭头(倒叙)。但是不能取消,取消的话关掉fiddler后重新打开就行了

HTTP协议介绍:

HTTP定义:

1.HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

2.HTTP(HyperText?Transfer?Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端

3.http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议

请求报文

1.HTTP请求报文主要由请求行、请求头部、空一行、请求正文4部分组成(如果没有空一行,就算3部分组成)

如下图,post请求,内容:

响应报文

1.HTTP响应报文主要由状态行、消息报头、空一行、响应正文4部分组成

完整的HTTP内容:

1.请求内容
2.响应的内容

  • 具体介绍一下:
    1.请求行有三个主要参数:请求方法、url、协议版本。
    2.请求方法包含:
  • 请求方法:
    get , post , HEAD,OPTIONS,PUT,DELETE,TRACE,CONNECT等方法
  • 这里注意:方法名称是分大小写的!!!!

原文地址:https://www.cnblogs.com/surewing/p/9576328.html

时间: 2024-11-14 00:07:26

fiddler常用操作之断点的相关文章

【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试

转:http://blog.csdn.net/ohmygirl/article/details/17855031 一. Fiddler内置命令. 上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的session不是同一个概念,这里的每条HTTP请求都成为一个session)界面中可以看到Fiddler抓取的所有HTTP请求.而为了更加方便的管理所有的session, Fiddler提供了一系列内置的函数用于筛选和操作这些session(习惯命令行操作l

Python进阶(三十五)-Fiddler命令行和HTTP断点调试

Python进阶(三十五)-Fiddler命令行和HTTP断点调试 一. Fiddler内置命令 ??上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的session不是同一个概念,这里的每条HTTP请求都称为一个session).界面中能够看到Fiddler抓取的全部HTTP请求.而为了更加方便的管理全部的session, Fiddler提供了一系列内置的函数用于筛选和操作这些session(习惯命令行操作Linux的童鞋应该能够感受到这会有多么方便

Fiddler 高级用法:Fiddler Script 与 HTTP 断点调试

之前在<关于 WEB/HTTP 调试利器 Fiddler 的一些技巧分享>中系统的介绍过 Fiddler 的原理与一些常见技巧,但那篇文章只是入门科普,并不深入,今天要介绍到的内容相对更加高级与深入,扩展性更好,功能更加强大. 1.Fiddler Script 1.1 Fiddler Script简介 在web前端开发的过程中,fiddler是最常使用的一款调试工具.在大多数情况下,通过fiddler默认菜单的功能就可以基本满足开发者的调试需求,然而如果需要满足更复杂的调试场景时,单纯通过fi

(转)Fiddler使用手册(三)------Fiddler命令行和HTTP断点调试

0x00 Fiddler内置命令 上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的session不是同一个概念,这里的每条HTTP请求都成为一个session)界面中可以看到Fiddler抓取的所有HTTP请求.而为了更加方便的管理所有的session, Fiddler提供了一系列内置的函数用于筛选和操作这些session(习惯命令行操作linux的童鞋应该可以感受到这会有多么方便).输入命令的位置在web session管理面板的下方(通过快捷键a

Fiddler命令行和HTTP断点调试

转载:http://blog.csdn.net/ohmygirl/article/details/17855031 一. Fiddler内置命令. 上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的session不是同一个概念,这里的每条HTTP请求都成为一个session)界面中可以看到Fiddler抓取的所有HTTP请求.而为了更加方便的管理所有的session, Fiddler提供了一系列内置的函数用于筛选和操作这些session(习惯命令行操作

gdb基础命令和常用操作补充

GDB是Unix下的一个程序调试工具,类似于windows下面的VC调试器,区别在于GDB采用全命令行控制. 使用GDB需要在编译时使用-g选项,gcc支持-g –O选项同时使用,但如果还在调试阶段,尽量不要-O2,也不要删除(strip)符号表.作用如下: 让程序按照自己定义的要求运行,不必每次改变程序 让程序在设置的断点处停住,并且检查程序的执行情况 动态改变程序的执行环境 一.启动调试 gdb <program> 启动程序进行调试 gdb ./bin/chat_server gdb --

【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试(转)

一. Fiddler内置命令. 上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的session不是同一个概念,这里的每条HTTP请求都成为一个session)界面中可以看到Fiddler抓取的所有HTTP请求.而为了更加方便的管理所有的session, Fiddler提供了一系列内置的函数用于筛选和操作这些session(习惯命令行操作linux的童鞋应该可以感受到这会有多么方便).输入命令的位置在web session管理面板的下方(通过快捷键al

Python 字典的特点和常用操作

一.字典帮助文档 >>> dir(dict) ['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt

postgresql的ALTER常用操作

postgresql版本:psql (9.3.4) 1.增加一列ALTER TABLE table_name ADD column_name datatype; 2.删除一列 ALTER TABLE table_name DROP column_name; 3.更改列的数据类型 ALTER TABLE table_name ALTER column_name TYPE datatype; 4.表的重命名 ALTER TABLE table_name RENAME TO new_name; 5.更