如图
菜单栏
紧张的功能实在很大略紧张又包含file(文件)、edit(编辑)、Rules(规则)、 Tools(工具) 、View(视图) Help(帮助)
file菜单紧张包含新建视图、加载一个保存好的抓包会话文件、保存所有会话列表数据到一个.saz文件中等等.

edit菜单紧张包含一些编辑的功能,例如对会话的:复制 粘贴 拷贝等操作
Rules规则菜单所谓规则 指的也便是抓包的规则, 按照设置的一系列规则来显示抓取的数据会话常见的勾选设置有:
Hide CONNECTs(把建立通道连接隐蔽了)的规则
Hide 304s(也便是304干系的会话也隐蔽了)的规则
Hide image Request (也便是隐蔽和图片干系会话)的规则
其他Rules规则菜单中的规则选项大家可以自行考试测验!
Tools(工具菜单) 这个菜单多数是针对fiddler这款工具本身的一些网络设置
View(视图菜单) 这个菜单是针对fiddler显示界面与视图的一些设置,如果有些工具栏和按钮没有显示,就可以在这里来查找!
Help(帮助菜单) 一些关于fiddler和网络的帮助信息文档,有兴趣的可以去查查看!
工具栏工具栏上的快捷按钮,也是平常我们在抓包过程当中常常会利用到的,这里我列举一些常会用到的工具按钮
add a comment(添加评论备注按钮)利用这个工具按钮你可以给某个会话添加一些描述或者备注信息!
如图
Replay(重放要求按钮)
这个按钮的浸染实在便是,重新发出一次当前你所选择的会话要求, 也便是说你点击一下Replay就会通过Fiddler来帮你发一次要求到做事器去!
也可以通过选择一个会话之后点击键盘上的R键进行快速重放操作!
如图
如果你想一次性向某个会话发送n次要求, 那么可以先选择一个会话,然后按住shift+R 或者 按住shift+Replay按钮或者shift + u来输入一个要求的次数!
如图
这种操作可以对一些普通的根本做事器做一个压力测试, 也就相称于一个大略的并发测试
Remove session(删除会话按钮)删除会话按钮顾名思义便是用来删除列表中的会话, 它这个按钮内部包含了删除会话的一些过滤方法
比如:
1.Remove All(删除全部会话) 快捷键为ctrl+x
2.images (删除图片干系的要求会话)
3.connect (删除连接干系的要求会话)
4.Non-200s (删除非200状态的要求会话)
5.Non-Browser(删除非浏览器的要求会话)
等等...
当然删除会话的方法还有很多,比如你在会话列表中选择了某几个会话想保留,其他会话全部删除
这种操作可以先按住ctrl然后选择要保留的会话,然后再按下shift+delete即可!
如图
当然也可以在会话列表中选择某一个会话然后右键选择Remove命令来进行删除
selected Session (删除选择的会话)
Unselected Session (删除未选择的会话)
All Session (删除全部会话)
如图
当然也可以直接点击键盘上的delete来进行删除会话!
Decode(解码按钮)当把这个按钮点击上了之后,会对所有返回的要求会话进行解码
要知道http有的时候返回的正文内容是被编码之后的,若要解码全部会话中的相应报文可以先把这个按钮点选上, 在抓包的时候相应报文就会自动解码个中的正文内容!
如图
当然你也可以不用点选这个按钮,要解码那个会话,再选择会话的时候点击右边相应报文中的Response body is encoded click to decode(解码相应报文) 就可以了!
如图
Keep session (保持会话按钮)
这个按钮的功能可以帮你规定会话列表中最多能够保留多少个会话, 根据需求自己选择就可以了!
如图
Any Process(瞄准目标会话)
这个功能有点意思, 可以瞄准你想要抓取的工具
比如说: 我们现在要抓取一个ie浏览器的要求数据包, 那么可以以下操作
如图
看到Process(进程)了吧, 都是瞄准的ie浏览器来进行抓取的要求!
Find(会话查找按钮)find按钮便是用来进行搜索和查找会话的, 我们可以根据一些条件快速定位到想要的会话要求
它对应的快捷键为ctrl+f
如图
一些其他选项的含义如下表:
选项
描述
Match case
表示区分大小写
Regular Expression
正则表达式
Search binaries
搜索二进制文件
Decode compressed content
解码压缩内容
Search only selected sessions
只搜索选择的要求
Result Highlight
搜索结果强调颜色
Save(会话保存按钮)这个按钮会把当前所有的会话全部以一个.saz的一个归档文件进行保存!
这样也方便发给其他的开拓和测试职员不雅观看, 这没什么好说的!
摄影机按钮这个按钮便是纯挚的截图,截图的时候会产生一个倒计时, 然后把截好的图片通过本地发送要求到localhost, 也可以拷贝出来! 用途不是很大!
如图
Browse (浏览器按钮)
这个按钮的浸染便是可以快速的打开当前电脑里已安装的浏览器 没什么太大特殊的!
Clear Cache(打消缓存按钮)这个按钮的浸染便是打消缓存, 把稳它是打消的ie浏览器的缓存
TextWizard(按钮)这个按钮的功能可以让文本进行编码与解码
如图
会话列表 (Session list) 详解
会话列表 紧张是fiddler所抓取到的每一条http要求都会显示到这里!
每一条所抓取到的信息我们称之为一个session(会话),有编程根本的朋友肯定立时就能理解这个会话的含义
会话列表中又包含了很多栏位,而每一个栏位都有其自己的含义,用来描述当前每一条会话的详细信息!
各个栏位的含义描述如下表:
名称
描述
#
显示抓取的要求id顺序和类型图标,id从1开始递增
Result
HTTP相应结果状态码
Protocol
当前要求会话所利用的协议,如HTTP/HTTPS/FTP等等
Host
要求地址的主机名或域名
URL
从做事器要求资源的文件路径,有的时候也包含GET要求的详细参数
Body
相应内容的大小, 单位为字节 也便是相应主体(Response Body)中的字节数
Caching
要求的缓存过期韶光或者是对缓存的的掌握干系描述 常日为Cache-Control相应头中的值!
Content-Type
相应内容的类型,以及编码类型
Process
发送此要求的程序与进程id:例如chrome:1604
Comments
许可用户给要求会话添加备注文本信息
Custom
许可用户设置利用脚本设置自定义字段
........................................
如图
操作会话列表栏位
首先在每一个栏位上面右键都会涌现以下三个选项
如图
1.Search this column (搜索此栏)
意思是它会根据每一个栏位的特性来进行条件搜索此栏位, 这样可以快速帮助用户精准找到想要的数据信息!
如图
2.Flag duplicates (重复会话标志)
这个功能可以给我们的会话打上标志背景, 并且这个背景颜色标记的是当前列中存在重复的数据
举个例子吧: 例如我们在URL这一栏上右键选择Flag duplicates 那么就会在当前列中存在重复URL的数据上打上一个绿色的背景
如图
3.Hide this column (隐蔽此列)
这个没什么说的 便是把当前这一列栏位给隐蔽了!
4.Ensure all columns are visible(确保所有列都可见)
这个功能就相称于一个复位按钮,如果你隐蔽了某个栏位又不知道如何把它显示出来,那么就直接点选它就可以全部栏位都复位!
5.Costomize columns(自定义栏位)
自定义栏位,是对所有列进行自定义, 实在也相称于新增一个栏位,而不是选择的栏位
添加栏位举个例子 我们来给Fiddler添加一个IP显示栏位
fiddler默认是不显示ip栏位的,那么我们可以直接点击菜单栏中的Rules--->Customize Rules
打开自定义规则对话框,这里实在该当说是会启动Fiddler ScriptEditor(Fiddler的脚本编辑器)
这里便是许可用户通过脚本来添加或自定义列
如图
然后我们按下键盘上的Ctrl+F查找关键字为static function Main()的字符串, 然后添加显示IP栏位的干系代码:
代码如下
FiddlerObject.UI.lvSessions.AddBoundColumn("栏位名称自定义", 120, "X-HostIP");
如图
这样一来在会话列表中就会显示要求做事器的的IP地址了!
如图
会话类型小图标
还有一点便是细心的朋友肯定创造在抓包的时候第一栏位除了显示要求顺序之外,还显示了要求的文件类型图标,也便是每个会话都标有一个对应的类型图标
如图
但是但常日不知道图标代表着什么意思,这里我就来给大家挨个阐明一下:
如下表
icon
含义
正在将要求发送到做事器
正在从做事器读取相应
要求在断点处停息
相应在断点处停息
要求利用HTTP HEAD方法;反应该当没有身体
要求利用的 HTTP POST 方法
要求利用HTTP连接方法;这将建立用于 HTTPS 流量的隧道
相应是 HTML
相应是图像
相应是一个JS脚本
相应是级联样式表
相应为 XML
相应为 JSON
相应是音频文件
相应是视频文件
相应是一个 Silverlight 小程序
相应是一个 Flash 小程序
相应是字体
通用成功相应
相应是 HTTP/300,301,302,303 或 307 重定向
相应为 HTTP/304:利用缓存版本
相应是对客户端凭据的要求
相应是做事器缺点
会话被客户端、Fiddler 或做事器中止。
表示要求的格式为html格式
要求会话的复制操作Fiddler中供应了很多对要求会话的复制操作,让你更好的去获取想要的数据!
你可以在会话列表中选择你要操作的会话, 然后右键选择copy
如图
个中子菜单含义如下表:
菜单名称
描述
Just URL
复制要求的主机名+URL资源的路径
Terse Summary
复制要求的方法+URL+相应状态
this Column
复制当前要求中的本列信息
Headers Only
以格式化形式复制当前会话的要求报文和相应报文
Session
复制当前原始会话 跟Headers Only差不多
Response DataURL
以及base64编码的形式复制相应数据的URL
Full Summary
复制当前会话信息和对应的列
根据需求进行选择就可以了!
要求会话的保存操作Fiddler对会话的存储也制订了一些规则
你可以在会话列表中选择你要操作的会话, 然后右键选择save
个中save菜单下有四个选项
Selected Session(选定的会话)Request(要求)Response(相应)...and Open as local File(作为本地文件打开)Selected Session(选定的会话) 旗下子菜单选项如下
如图
选项
描述
in ArchiveZIP
把当前所选择的要求会话保存到.saz文件中
as Text
把当前所选择的要求会话保存到文本文件中 包含要求报文+相应报文+相应体
as Text (Headers only)
把当前所选择的要求会话保存到文本文件中 包含要求报文+相应报文
Request(要求)旗下子菜单选项如下
选项
描述
Entire Request
把当前所选择的要求会话保存到文本文件中 只有要求报文
Request Body
保存当前要求会话的要求正文为文本文件
Response(相应)子菜单如下:
选项
描述
Entire Response
把当前所选择的要求会话保存到文本文件中 只有相应报文+相应体
Response Body
保存当前要求会话的相应体为文本文件
...and Open as local File(作为本地文件打开)
这个选项的意思便是保存为本地的一个html文件 并且进行打开!
保存会话乱码问题我们有时候保存会话查看时,会创造返回的相应体是乱码
如图
碰着这种问题,紧张是须要解码就行了
在Inspectors 会话相应中点击Response body is encodee.click to decode后,重新保存就没乱码了。
也可以选中上图会话框上的decode按钮,这样就自动解码了
如图
实在如果你理解了http的根本知识,那么会话列表中的栏位信息也会很快的理解!
而你也不用每一个都去记住,要用的时候来查一查就行了!
状态栏状态栏上又分为几个小区域分别为:快速实行命令框(QuickExec)、
快速实行命令框(QuickExec)这个输入框的浸染便是许可用户快速输入并启动一些脚本命令!
如图
一些关于QuickExec的键盘快捷键
比如点击 Alt+Q 可快速将焦点设置为快速实行命令框如果 Fiddler 未处于活动状态,请先按Ctrl+ALT+F激活 Fiddler
在快速实行命令框中,按 Ctrl+I 会在快速实行命令框中插入当前所选会话 URL
举个例子
我们可以在快速实行命令框输入 cls 或 clear命令来快速的清空会话列表
如图
常见命令如下表
命令
对应栏位
描述
案例
?
all
问号后边跟一个字符串,可以从会话列表中筛选出包含这个字符串的所有要求
?baidu
>
Body
可以从会话列表中筛选出要求大小的会话,也便是大于这个数字要求
>100
<
Body
可以从会话列表中筛选出要求大小的会话,也便是小于这个数字要求
<100
=
Result
即是号后面跟数字,可以从会话列表中筛选出对应的HTTP状态码的会话
=404
@
Host
@后面跟Host,可以从会话列表中筛选出相应的域名
@www.baidu.com
select
Content-Type
select后面跟相应类型,可以从会话列表中筛选出干系的会话类型
select image
cls
All
清空当前所有要求
cls
dump
All
将所有要求打包成.saz压缩包,默认会保存到C:\Users\用户名\Documents\Fiddler2\Captures目录下
dump
start
All
开始监听要求
start
stop
All
停滞监听要求
stop
..............
..................................
.................
更多命令 可以查看官方文档, 这里就不再过多赘述了,关于快速实行命令框后面的断点中还会用到!
all processes (进程筛选)All Processes可以对抓包进行筛选,可以根据自己情形选择。
如图
也便是说在抓包的时候,是显示所有会话进程还是浏览器要求的会话进程 还是不是浏览器要求的会话进程 或者全部隐蔽,根据自己的需求进行选择就行了!
空缺小区域这个小区域,如果你用鼠标点击一下就会涌现断点的设置
如图
状态
描述
意思便是要求之前断点, 也便是当这个状态启动的时候,那么你发送的要求就会卡在这里!
相应在断点处停息, 也便是说做事器已经返回要求的数据了,但是被Fiddler在中间卡住了,还没有到客户端这一边!
...........
关于断点我会后面会详细讲到!
状态栏的其他地方便是显示当前会话的数量以及当选所选择会话的URL地址
Fiddler赞助标签工具栏 详解Fiddler中赞助标签工具栏算是用得比较多的,由于常常要在这里查看抓取数据包的详细信息!
接下来我就详细拆分赞助标签工具栏的各个区域来讲解!
Statistics 性能统计用于查看要求的性能数据,统计与剖析, 也便是说它便是对当前要求的性能剖析数据
当你点击一个HTTP要求会话的时候,就可以看到Statistics里面有关于当前HTTP要求的性能以及数据剖析!
例如: 一些TCP/IP的连接韶光,DNS的解析韶光、资源花费、各个国家的要求网络带宽比拟等信息
如图
如果你是一个专业的前端开拓者,这些数据就该当重点关注一下!
Inspectors 要求与相应数据查看你有没有想过在Fiddler中如何快速查看http要求与相应报文呢?
实在当我们在会话列表中双击某一个会话要求就会自动跳转到Inspectors选项卡
也便是当抓包成功之后, 就可以在左侧窗口中选择你要查看的地址来进行查看抓取的http信息数据, 当选择了相应的地址之后,在右侧选项卡中 选择Inspectors(检讨器), 然后再点击一下Raw就可以按照原生形式来进行查看到相应的http要求报文与http相应报文, 分为高下两个部分,上半部分是要求头部分,下半部分是相应头部分。
如图
对付每一部分,供应了多种不同格式查看每个要乞降相应的内容, Inspectors选项卡中还有其他的
Inspectors选项卡上半部分HTTP要求内容的子集选项卡如下表
名称
含义
Headers
以层级的形式来显示HTTP要求头部的干系内容信息
TextView
以文本的形式展示
SytaxView
查看详细的要求体 或者附带的键与值
WebForms
可以通过它看到url提交的干系参数信息
HexView
以16进制进行查看要求!
Auth
查看要求数据权限
Cookie
查看要求cookie信息
Raw
原生查看http
JSON
以JSON格式展开查看要求信息!
XML
以xml格式展开查看要求信息!
Inspectors选项卡下半部分HTTP相应内容 的子集选项卡如下表
名称
含义
Transformer
Headers
以层级办法来展示HTTP相应头部信息
TextView
以文本办法来展示HTTP相应正文信息
SyntaxView
以语法高亮来展示HTTP相应正文信息
ImageView
以图片的形式来展示相应信息, 条件是你选择的会话是一个图片相应
HexView
以16进制来查看相应信息
Webview
以html编译显示之后的形式来查看相应结果
Auth
查看相应权限
Caching
查看相应缓存干系信息
cookie
查看相应cookie信息
Raw
以原生格式展示相应信息
JSON
以json展示相应信息
xml
以xml展示相应信息
AutoResponder 自动拦截要求AutoResponder也叫做自动相应器
它许可你拦截指定规则的要求,并把相应结果重定向到一个本地资源 或 直策应用Fiddler内置的资源,从而代替做事器来自定义一个你想要的相应。 说白一点便是修改相应
这个功能在我们做开拓测试的时候也是非常有用的 ,利用它我们可以不影响用户体验的条件下进行测试!
举个例子 当我们要求百度页面的时候, 抓取到个中一个百度logo图片会话,末了把这个图片会话相应给更换成其他资源!
首先我们可以在Fiddler中的Inspectors结合会话列表找到这个图片的连接资源URL地址: 可能有多个
例如
然后切换到AutoResponder选项卡, 在Rule Editor规则编辑中填入要要求的资源地址和更换成的相应,末了点击save保存一下, 就可以了!
温馨提醒 最好要把以下这3个复选框勾上!
Enable Rules(启用规则)
Accept all connects(接管所有连接)
Unmatched requests passthrough(不匹配的要求通报)
如图
那么下一次你再次要求百度页面的时候,如果再次遇见到这个百度logo图片的资源地址,那么要求就会被中间层的Fiddler所挟制并修改成为我们设置的某个相应资源,并返回给客户端, 明白了吧, 这个相应不是从做事器回来的,而是我们人为修改的!
把稳测试的时候,最好利用去缓存刷新来测试, 浏览器快捷键shift+F5
效果如图
Fiddler实在还有很多内置的相应规则,根据实际情形和需求来决定如何测试
如图
我们还可以自定义编辑相应也便是Edit Response
举个例子 我们可以直接编辑做事器返回相应信息的详细内容,然后再返回给客户端
如图
效果如下
相应都可以随便修改 Fiddler还有什么事情不能做的!
总之通过这种中间截获的手段并修改相应资源的手腕就可以实现很多资源相应的修正,你也可以修正html、css、js等资源都是可以的 ,这极大方便了我们做开拓仿照要乞降相应测试!
Composer 设计要求发送到做事器它可以许可我们自定义要求报文来发送到做事端,当然也可以手动创建一个新的要求,也可以从会话列表中拖拽一个现有的要求去发送!
在Parsed(解析模式)下我们只须要供应大略的URL地址就可以了, 并且还可以在RequestBody中去定制一些属性,例如仿照浏览器头User-Agent
但是Composer常日在我们开拓项目当中用于接口测试 也是常常用于测试一些api接口的最好方法!
当然有时候也可以通过Composer来校验后端接口的严谨,从而跳过一些前真个限定,去直接访问后端代码的逻辑!
Composer下还有几个子集选项卡:Parsed、Raw、Scratchpad、Options
详细阐明如下表:
选项卡
描述
Parsed
表示已经被解析的全体HTTP要求,包括要求行,要求头和要求体,说普通一点也便是最直不雅观的看到Request要求的详细展示
Raw
按照真实原生HTTP要求标准来进行展示的格式!
Scratchpad
可以存储已经网络好的HTTP要求,可存储多个不同的要求, 你可以理解为要求回放功能, 鼠标连续点击三次即可选中要选择的要求来进行发送!
Options
设置一些要求选项
个中options中的设置项如下表:
名称
描述
Inspect Session
检讨会话,当开启此功能并重放的时候,会自动跳入Inspectors功能模块,进行检讨HTTP要乞降相应。
Fix Content-Length header
当利用POST要求进行重放的时候,如果没有Content-Length的要求头,Fiddler会自动加上此要求头,如果有但是要求正文大小缺点,则它会自动改动。默认勾选。
Follow Redirects
会自动重定向301,302的要求。
Automatically Authenticate
自动进行身份认证,包括认证NTLM,http 401,http 407
UI Options
此功能是在原有的Fiddler功能选项里面,将Composer这个功能弹出一个浮动窗口,如果不须要直接关闭这个窗口就会恢复原样。
..................................................
我们用得最多的也便是Parsed(详细展示要求构造)
如图
举个例子 我们用图灵机器人来测试一个POST要求的智能谈天对话接口!
图灵机器人接口信息
接口信息
描述
http://openapi.turingapi.com/openapi/api/v2
接口地址
要求办法
HTTP POST
要求参数
要求参数格式为 JSON
参数格式
{ "perception": { "inputText": { "text": "谈天笔墨" }, }, "userInfo": { "apiKey": "申请的key", "userId": "随机32位字符串" }}
文档解释 https://www.kancloud.cn/turing/www-tuling123-com/718227
操作流程
那么利用Fiddler调试一个POST要求并带有json格式的数据,我们可以打开Composer面板, 在Composer面板中的第一个下拉框中选择POST要求办法,然后输入要求接口的地址!
在Request Headers中也可以输入一些要求头信息,也可以不输入,它会帮你自动天生
然后在Request Body中输入要求的JSON数据
末了点击Execute(实行),若在会话列表中看到结果返回200表示操作成功!
如图
这个时候,我们就可以在Inspectors里面查看到要求相应的结果了!
如图
如果返回的JSON数据格式不清楚,实在你可以拿到一些数据格式化网站上去格式化一下就可以了
如图
再举个例子 我们再要求一个GET要求
如图
这样就可以返回数据了!
以上这些都是测试的第三方接口,如果是你自己写的api接口也是可以这样子来测试的!
总而言之:Composer可以帮助你去发送数据包,帮助你去做一些接口测试,帮助你去做一些平常没办法做到的一些测试!☺️
Filters 要求过滤器Filters本意便是过滤的意思, 它的紧张浸染便是用来过滤要求用的, 要知道有的时候 会话列表中或存在大量的要求会话, 那么有些时候会根据用户的条件进行一个会话筛选, 也便是说通过过滤规则来过滤掉那些不想看到的要求!
Filters选项卡也是在我们抓包过程中利用频率非常高的,个中功能也比较多,这里我把它内部的功能逐一拆解分成7个部分来进行讲解!
如图
1.Hosts 这是Filters对主机的过滤规则设置!
如图
我们利用Filters的时候就必须要勾选左上角的Use Filters(选择过滤器)开启过滤器, 勾选了之后Filters选项卡会涌现绿色对钩, 记住这个勾选之后,过滤器才会生效
并且这里还有两个要求过滤条件:Zone和Host
Zone(区域): 下拉列表中可以选择如下:
show only Intranet Hosts(只显示局域网的要求)
show only Internet Hosts(只显示广域网的要求)
如图
那么这到底代表什么意思呢?
举个例子 我们来要求baidu试试!
如图
如果设置为了show only Intranet Hosts 那么外网的要求会话是无法获取到的,智能获取内网要求
如果设置为了show only Internet Hosts那么相反也智能获取外网的要求,而内网的要求是无法获取到的!
平常如果我们没有其他分外需求的情形下Zone都被默认设置为了No Zone Filter(不用区域过滤)
把稳:各位要留神 Intranet(内网) 和 Internet(因特网) 这两个单词很多人随意马虎搞混!
Host(主机):下拉列表中可以选择如下:
如图
含义阐明:
Hide the following Hosts(隐蔽下列指定的主机的要求)
show only the following Hosts (仅显示以下指定主机的要求)
Flag the following Hosts(标记以下主机)
举个例子 比如说: 我设置个中一个show only the following Hosts (仅展示以下指定主机的要求) 那么会话列表中只会涌现我所指定的主机要求会话,其他一概不显示!
把稳: 这里设置之后 要点击一下Actions中的Run Filterset now(运行过滤)
如图
其余两个根据自己需求设置就行了, 平常没分外需求我们也是设置的No Host Filter
2.Client Process 这是对客户端进程的一些过滤设置!
如图
个中有三个复选框:
show only traffic from (仅显示当前客户端指定进程的要求)
show only Internet Explorer traffic (仅显示Internet Explorer要求)
Hide trafficfrom Service Host (对做事主机隐蔽要求)
举个例子 我仅显示ie浏览器的要求会话,其他浏览器的要求会话一概不显示!
如图
看到了吧,这对某一些需求上还是有一定帮助的!
3.Request Headers 这是对要求头的一些过滤规则
如图
个中有几个复选框功能如下表:
名称
描述
show only if URL contains
仅展示当前URL中包含指定内容的要求会话
Hide if URL contains
隐蔽当前URL中包含指定内容的要求会话
Flag request with headers
用头标记要求, 标记带有特定header的要求,如果在web session列表中存在该要求,会加粗显示。 例如,我想突出显示header信息中带有token字段的URL要求,即可以勾选上这项,并在后面输入:token。
Delete request headers
删除要求头, 也便是说在要求的过程当中会删除指定的Header字段。我们在进行测试时非常有用,比如说去掉URL中的Content-Type信息
set request header
设置要求头, 也便是说可以在要求头中自定义要求头信息,前面输入字段,后面输入值, 这便是我们可以进行自定义要求头内容
.....................................................................
举个例子
例如: 勾选show only if URL contains只会显示指定包含这个内容的 相应会话
如图
例如: 勾选set request header然后我们自定义一个header头信息 然后去发送一个要求
如图
然后我们可以在Inspectors中查看到要求头就有我们所自定义的头信息了, 有的时候做一些分外调试还是能够起很大帮助的!
如图
4.Breakpionts 断点设置
这个功能有的时候也非常主要!
功能阐明如下表:
功能
描述
Break request on Post
针对所有POST要求设置断点。
Break request on GET with query string
给所有带参数的 GET 要求设置断点
Break on XMLHttpRequest
针对所有Ajax要求设置断点。
Break response on Content-type
针对相应报文中header字段中,Content-Type属性匹配成功的要求设置断点
..............................................................................................
关于要求断点后面单独拿一章节来说!
5.Response Status Code(要求状态码过滤)
这一部分的功能,很大略便是看状态码进行会话的过滤
如图
功能阐明如下表:
功能
描述
Hide success(2xx)
隐蔽相应状态码为2xx的URL要求,如:相应状态码为200的URL要求将隐蔽掉
Hide non-2xx
隐蔽相应状态码不是2xx的URL要求。
Hide Authentication demands(401,407)
隐蔽认证(相应状态码为:401 407)的URL 要求。这些相应须要用户进一步确认证书,authentication demands是认证需求的意思。
Hide redirects(300,301,302,303,307)
隐蔽重定向(相应状态码为:300,301,302,303,07)的URL要求。
Hide Not Modifield(304)
隐蔽不是缓存的状态码(304)的URL要求, 由于304是要求的资源早年次起没有发生变更返回的状态码。
.............................................................................................
举个例子
我们勾选Hide success(2xx) 返回的要求会话中是不会包含2xx状态码的要求
6.Response Type and Size (根据相应类型和大小进行过滤)
如图
Show all Content-Type 这一项比较常用, 意思为显示所有指定Content-Type类型的要求
个中的选项描述如下表:
功能
描述
Show only IMAGE/
仅显示相应类型为图片的要求, 即相应header中Content-Type=IMAGE/的要求,为通配符
Show only HTML
仅显示相应类型为HTML的要求。
Show only TEXT/CSS
仅显示相应类型为text/css的要求。
Show only SCRIPTS
仅显示相应类型为Scripts的要求
Show only XML
仅显示相应类型为XML的要求。
Show only JSON
仅显示相应类型为json的要求。
Hide IMAGE/
隐蔽所有相应类型为图片的要求。
..............................................
其他功能项如下表
功能
描述
Hide smaller than
隐蔽小于指定大小相应结果的要求,大小可以在 Inpsectors 中相应结果部分的 Transformer 中查看
Hide larger than
隐蔽大于指定大小相应结果的要求
Time HeatMap
韶光的热图。
Block script files
阻挡返回正常JS文件。如果相应是脚本文件,那么相应 404。
Block image files
阻挡返回正常图片文件。如果相应是图片文件,那么相应 404
Block SWF files
阻挡返回正常SWF文件。如果相应是SWF 文件,那么相应 404。 科普一下swf(shock wave flash):是Macromedia公司的目前已被adobe公司收购)公司的动画设计软件Flash的专用格式
Block CSS files
阻挡返回正常CSS文件。如果相应是 CSS 文件,那么相应 404
..............................................
举个例子 比如我们禁止掉页面上的css js 等资源看看要求的结果是什么样子的!
如图
效果
那么此时要求的页面将会失落去css 、js、图片等资源, 让他们都相应为404状态
以上这些功能可以测试一些资源等加载失落败的情形下页面的展示情形, 前端必备哦!
7.Response Header (根据相应头信息进行过滤)
如图
功能详解如下表:
功能
描述
Flag responses that set cookies
会话列表的相应中有cookies信息的加上标识斜体
Flag responses with headers
会话列表里标记相应中带有特定header的要求 即加粗。
Delete response headers
会话列表里删除相应信息中,便是说没有发给客户端之前就把这些相应头删除掉!
Set response header
在相应中添加header字段, 也便是自定义相应头信息,再发给客户端
............................................................................
小结 有些新手朋友在利用Fiddler的时候涌现抓包失落灵的情形,可能便是你在Filters选项卡中勾选了什么东西才导致的! 以是利用过滤器要把稳一下!
Fiddler 断点(breakpoints)实战所谓断点功能便是将你的要求或者相应截获下来,但是不发送也不返回,都放到Fiddler这里, 这个时候你可以做很多事情,比如说,把要求报文改了,或 相应报文改了,再发送给做事器 或 客户端
要求之前实行断点还记得前面状态栏说过的小空缺区域吗? 点击这个区域就会涌现断点标志符号,如下表:
状态
描述
意思便是要求之前断点, 也便是当这个状态启动的时候,那么你发送的要求就会卡在这里!
...........
以上状态图标实在对应的也便是菜单栏中的Rules--->Automatic Breakpoints--->Before Request
如图
举个例子
我们要求某个网站之前就先把这个断点打开, 那么在要求的时候, 会话列表中所对应的要求也会呈现断点状态的图标, 会话列表中URL所对应的网站也是无法显示出来的, 由于此时此刻要求还未发到做事器。中间被Fiddler所截获 ,那么现在就可以做一些数据和要求信息上的修正
然后等确定要发送到做事器的时候就点击Run to Completion(完成) 把这一个要求发送到做事器端就可以了 !
如图
把稳 点击Run to Completion(完成) 只是把当前所选择到的会话解除断点,让它发送到做事器端,从而相应
相应之前实行断点
状态
描述
[外链图片转存失落败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LaOqoiWK-1651910920401)(img/Icon_4.png)]
相应在断点处停息, 也便是说做事器已经返回要求的数据了,但是被Fiddler在中间卡住了,还没有到客户端这一边, 以是当我们开启了这个状态,那么在相应之前就会卡主!
.............
当我们再次点击一下的时候就会切换到以上状态图标
实在对应的也便是菜单栏中的Rules--->Automatic Breakpoints--->After Request
而After Request(要求之后断点) 和 Before Request(要求之前断点)恰好相反
如图
举个例子
还是要求某个网站之前就先把这个要求后断点打开, 那么此时相应信息已经返回了,但是被的时候Fiddler卡主了, 会话列表中所对应的要求也会呈现要求后断点的图标, 会话列表中URL所对应的网站也是无法显示 或者 无法提取最新的页面信息, 由于此时此刻相应还未发到客户端。返回途中被Fiddler所截获
那么如果可以的话,现在就能做一些相应报文信息上的修正
然后等确定要发送到客户真个时候就点击Run to Completion(完成) 把这一个相应发送到客户端就可以了 !
如图
以是在Fiddler拿到相应信息的时候,先断住,然后修改一些信息之后再发给客户端!
命令断点大家还记得状态栏上的快速命令实行框吗? 在这里也可以输入来实行一些命令断点
如图
那么一些常见的断点命令如下表:
命令
描述
案例
解除断点
bpafter
bpafter后边跟一个字符串,表示中断所有包含该字符串的要求
bpafter baidu
输入bpafter解除断点
bpu
跟bpafter功能差不多,
bpu baidu
输入bpu解除断点
bpv
只中断HTTP方法的命令,HTTP方法如POST、GET
bpv get
输入bpv解除断点
bpm
只中断HTTP方法的命令,HTTP方法如POST、GET
bpm get
输入bpm解除断点
go
放行中断下来的要求,相称于工具栏上的go按钮
go
...................................
.........................................
Fiddler 弱网测试什么是弱网?弱网在Fiddler中便是设置网络限速 大略理解也便是在网络不好 或者 网络环境繁芜、利用场景多变非常、网络抖动、延时、丢包的环境下进行检讨的一种办法 就叫弱网测试
举个例子
一款适配于低资源环境的医疗it系统项目来说,而它的利用场景紧张是在一些2G网络环境下,3G网都很少,并且稳定性也是比较差。因此这款网站运用或app运用要想完成交付,就一定要在弱网状态乃至在没有网络状态下运行, 看看是不是能够正常交付!
以是我们要仿照一个弱网环境进行测试 通过Fiddler软件办法利用仿照网络参数来配置弱网环境,就可以达到对带宽、丢包、延时等进行仿照弱网环境目的
在windows环境下我们常日可以利用fiddler和network emulator for windows toolkit来仿照
在mac环境下则可以利用Charles和Xcode自带的开拓环境网络非常仿照工具进行测试
Timeline 要求相应韶光在左侧的会话列表窗口选择一个或多个会话,再切换到Timeline选项卡中 便会显示指定的资源从做事端传输到客户真个相应韶光!
如图
从上图来看 彷佛都属于正常的网络延迟范围之内吧!
那么我们现在就利用Fiddler这个软件来设置一下网络延迟,让网络限速
方法也很大略从Fiddler的菜单栏上选择Rules---->Performance--->Simulate Modem Speeds(仿照调制解调器速率)就可以了!
如图
当我们勾选了Simulate Modem Speeds(仿照调制解调器速率) 之后你在测试一下要求某个网页看看相应韶光就知道了!
如图
看到了吧 很明显某些资源要求的时长增加了!
Fiddler 脚本限速那么到底Fiddler给我们限定了多少网速呢 ?
实在我们可以通过脚本去查看和设置,在Fiddler菜单栏选择Rules--->Customize Rules(自定义规则)
打开Fiddler ScriptEditor编辑器,然后按下Ctrl+ F来搜索关键字Simulate(仿照的意思) 找到if判断的m_SimulateModem变量
如图
以上的代码中写明了注释:
Delay sends by 300ms per KB uploaded意思是每上传1KB延迟发送 要花费300毫秒
Delay receives by 150ms per KB downloaded意思是延迟每下载1KB吸收要花费150毫秒
要知道这里的单位是毫秒 而1秒=1000毫秒 那么知道了这个之后,我们就可以手动的来设置网络延迟了!
如图
也便是说我现在发一个要求上传也要1.3秒,并且每一个资源的下载韶光也要1.5秒
设置之后保存即可! 就可以再去Timeline中查看一下要求会话的相应韶光了!
把稳: Simulate Modem Speeds(仿照调制解调器速率) 依旧要为勾选状态!
如图
是不是比刚才很卡了呢!
小结
总之弱网测试的目的便是尽可能担保用户体验, 也便是说我们的项目或页面的数据相应韶光是否可以被用户所接管, 常见的一些关注点包含如下:
热启动和冷启动韶光、页面切换、前后台切换、首字韶光,首屏韶光等。页面呈现是否完成同等。超时是否符合定义,非常信息是否显斧正常。是否有超时重连。安全角度:是否会发生dns挟制、上岸ip改换频繁、单点上岸非常等。大流量事宜风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。是否会有页面的crash以及显示的错乱、session是否同等、要求堆积处理等登录、单局、支付等 不能有导致项目无法正常进行UI显示、交互问题不能有危害用户利益 或者 可被用户额外获利的问题须要有合理的断线重连机制,避免每次重连都返回到登录界面等等..补充扩展
当然这里要多说一句 软件仿照弱网办法是由一定的弊端的,由于不是非常靠近弱网络环境,想要更靠近弱网环境,例如大多数专业项目的测试2G/3G/4G、高延时、高丢包、相应韶光、页面呈现&超时文案&超时重连、安全及大流量风险、无网多状态切换等会更方向于通过硬件办法来帮忙测试,但这种办法又会变得很麻烦,都是通过树莓派 但是软件办法的本钱低且履行起来随意马虎操作而已!
"点赞" "评论" "收藏"
大家的支持便是我坚持创作下去的动力!
如果以上内容有任何缺点或者不准确的地方,欢迎不才面 留个言指出、或者你有更好的想法,欢迎一起互换学习