Fiddler 的使用
前言
Fiddler
是最常用的 Web
调试工具之一。对于开发来说,前端可以通过 Fiddler 代理来调试 JS、CSS、HTML
样式。后端可以通过 Fiddler
查看请求和相应,定位问题。对于测试来说,可以通过抓包方式修改前端请求参数和模拟后端返回,快速定位缺陷。总之,不管是开发还是测试,Fiddler
都是一款工作中不可或缺的辅助利器。
1. 简介
官网:https://www.telerik.com/fiddler
Fiddler
是一个 HTTP
协议调试代理工具,是由 C#
写出来的,它包含一个简单却功能强大的基于 JScript.NET
事件脚本子系统,灵活性极高,并且能够使用 .net
框架语言进行扩展,可以记录并检查所有客户端和服务器之间的 HTTP
和 HTTPS
请求,允许你监视、设置断点、甚至是修改输入输出数据,也可以进行请求构造、设置网络丢包和延迟进行 APP
弱网测试等。
原理说明:
Fiddler
的原理是以 Web
代理服务器的形式进行工作的,代理(Proxy
)就是在客户端和服务器之间设置一道关卡,对 Web
客户端来说,Fiddler
(代理)扮演的是服务器的角色,接受请求报文,返回相应报文;对于 Web
服务器来说,代理扮演的是客户端的角色,发送 Web
请求报文,接受 Web
相应报文。
2. 下载安装
2.1 下载:
- 从官网进去,选择
FIDDLER TOOLS
>Fiddler Classic
- 进入到以下页面,点击
Try For Free
- 进入到以下页面,它会问你用
Fiddler
做什么?你选择一下,然后再填写你的邮箱,选上Country
,勾选上I agree
以及I accept
,再点击Download For Windows
- 之后就会自动开始下载
2.2 界面介绍:
打开 Fiddler
,界面如下,可分为六个部分:
- 菜单栏
- 工具栏
- 会话面板
- 辅助标签+工具
- 命令行
- 状态栏
3.1 菜单栏
- File 菜单
- Edit 菜单
- Rules 菜单
- Tools 菜单
- View 菜单
- Help 菜单
3.2 File 菜单:
Copy
:下面的几个子菜单分别支持复制选中 Session 的某些信息Remove
:下面的子菜单分别支持从 Web Session 列表中删除全部、选择- 或未选中的 SessionSelect All(或 Ctrl + A)
:命令选择 Sessions 列表的所有内容Paste as Session
:命令会基于剪贴板上的内容,生成一个或多个模拟- 的Web Session
Find Session…(或 Ctrl + F)
:命令会打开Find Session
窗口,搜- 索捕获到的数据流
3.3 Edit 菜单:
Copy
:下面的几个子菜单分别支持复制选中Session
的某些信息Remove
:下面的子菜单分别支持从Web Session
列表中删除全部、选择或未选中的Session
Select All(或 Ctrl + A)
:命令选择Sessions
列表的所有内容Paste as Session
:命令会基于剪贴板上的内容,生成一个或多个模拟的Web Session
Find Session…(或 Ctrl + F)
:命令会打开Find Session
窗口,搜索捕获到的数据流
3.4 Rules 菜单:
Hide Image Request
:触发器控制是否在Web Session
列表中显示图像类Session
Hide CONNECTS
:触发器控制是否在Web Session
列表中显示使用CONNECT
请求方法的Session
Automatic Breakpoints
:子菜单控制Fiddler
是否会自动在Before Requests
或After Responses
处设置断点。Ignore Image
触发器控制这些断点是否作用于图片请求Customize Rules…(或 Ctrl + R)
:菜单命令会使用配置的脚本编辑器打开当前的FiddlerScript
文件Require Proxy Authentication
:如果选中Require Proxy Authentication
菜单项,所有未提交Proxy-Authorization
请求头的请求会返回HTTP/407
响应,要求客户端安装证书,该规则可以用于测试HTTP
客户端,确保这些规则在有证书的客户端服务器上可以正常工作Apply GZIP Encoding
:如果选中Apply GZIP Encoding
菜单项,只要请求包含具有gzip
标识的Accept-Encoding
请求头,就会对除了图片以外的所有响应使用GZIP HTTP
进行压缩。该规则用于测试使用GZIP
选项支持的客户端是否真正对内容进行压缩。该选项还支持性能调优,并且计算传输的压缩后的数据流的字节数Remove All Encoding
:如果选中Remove All Encoding
,会删除所有请求和响应的HTTP
内容编码和传输编码Hide 304s
:选项会隐藏包含HTTP/304 Not Modified
状态的响应的所有Session
Request Japanese Content
:选项会把所有请求的Accept-Encoding
请求头设置或替换为ja
标识,表示客户端希望响应以日语形式发送User-Agents
:子菜单支持把所有请求的User-Agent
请求头设置或替换成指定值performance
:子菜单提供影响Web
性能的简单选项
3.5 Tools 菜单:
Options…
:打开Fiddler Options
窗口,针对fiddler
的设置WinINET Options…
:打开IE
的Internet Options
窗口,windows
的ie
设置Clear WinINET Cache(或 Ctrl + Shift + X)
:选项会清空IE
和其他应用中所使用的WinINET
缓存中的所有文件Clear WinINET Cookies
:选项会清空IE
和其他应用中所发送的WinINET Cookie.Session
的Cookies
还是保持不变TextWizard…(或 Ctrl + E)
:对文本进行编码和解码的工具Compare Session(或 Ctrl + W)
:选项只有当选中Web Session
列表中的两个Session
时才有效。Reset Script
:重置脚本Sandbox
:打开 http://webdbg.com/sandbox/View IE Cache
:打开IE
缓存窗口Win8 Loopback Exemptions
:windows
使用了一种叫做 “AppContainer
” 的隔离技术,使得一些流量无法正常捕获,在fiddler
中点击Win8 Loopback Exemptions
按钮可以解除这个诅咒,这个与工具栏中的WinConfig
功能是一致的New Session Clipboard…
:打开一个Session
的剪贴板HOSTS…
:选项会打开Fiddler
的Host Remapping
工具
3.6 View菜单栏
Show Toolbar
:控制Fiddler
工具栏是否可见,默认是勾选的Default Layout
:默认layout
,session
在左,请求和响应在右边的上下处(界面布局)Stacked Layout
:session
在上,请求在下方(界面布局)Wide Layout
:session
在上,请求和响应在下方的左右处(界面布局)Tabs
:打开标签页面,其中有三个标签可以打开,分别是Preferences
:fiddler
偏好属性AutoSave
:fiddler
自动保存的设置APITest
:api
的测试
Statistics(或 F7)
:查看一个请求的统计数据Inspectors(或 F8)
:嗅探,用来查看会话的内容,上面是请求,下面是响应Composer(或 F9)
:设计构造在Composer
中进行请求的修改,可以把session
框中的数据先清除,然后点击Composer
中的Excute
按钮来发送请求,请求出现在session
框中Minimize to Tray(或 Ctrl + M)
:可以最小化Fiddler
到系统托盘中Stay On Top
:保持置顶Squish Session List(或 F6)
:控制Web Session
列表是否水平收缩AutoScroll Session list
:自动滚动会话列表,默认是勾选此项的,勾选此项后,session
框中的每出现新的session
,session
框中就会不断向下滚动,若不勾选此项,就很方便具体某一个session
的定位,即使出现了新的session
也不会自动向下滚动Refresh(或 F5)
:刷新功能
3.7 Help 菜单:
Welcome Screen
:回到主页面Help
:进入fiddler
的帮助的网页中Get Fiddler Book…
:fiddler book
的网页Discussions
:fiddler
的讨论网页,这个需要魔法上网HTTP References
:进入http
参考文献相关网站Troubleshoot…
:会捕获所有请求,对于哪些被过滤的请求用删除线表示出来并给出原因,使用时候会打开一个网页Get Priority Support…
:购买最新支持Check for Updates…
:检查软件更新情况Send Feedback…
:意见反馈About
:关于当前fiddler
的相关信息
3.8 工具栏
- WinConfig:
windows
使用了一种叫做 “AppContainer
” 的隔离技术,使得一些流量无法正常捕获,在fiddler
中点击 WinConfig 按钮可以解除这个隔离,这个与菜单栏Tools
→Win8 Loopback Exemptions
功能是一致的。 - :给
session list
中的会话添加备注。选中一条回话,再点击该按钮可直接添加备注内容,添加成功后将会在Comments
栏下查看到该备注。 - Reply:数据重放(快捷键
R
),当我们需要再一次对某个请求进行发送的时候,Fiddler
提供了回放的功能可以再一次发送请求。 - :清空监控面板(快捷键
Ctrl + X
);可以清除面板上全部或某些请求。
- Go:是调试
debug
按钮,让请求断点继续往下走。结合状态栏使用。在状态栏第三格点(底部状态栏)一下,箭头朝上打叉,表示请求在发送的阶段有一个断点,再按下向下的是请求回来的时候产生一个断点,比如朝上的,用replay
功能重播,但是请求没有发出去,想让断点继续走,按一下go
就可以了,类似调试代码中的debug
功能
通过结合状态栏中的按钮,可以调试时请求的状态进行拦截,上图状态栏处的箭头向上,表示拦截该请求发送时候
上图找过你该状态栏箭头向下,表示 Fiddler
拦截请求回来的时候。放行断点的时候单击上方的 GO
的按钮即可—>查看详情
- Stream:表示用来模式切换,在流模型和缓存模式下进行切换,默认是缓冲模式。
- 流模式:理解成为一种实时通信的模式,有请求就有返回,也就是实时返回
- 缓冲模式:等待所有的请求都到一起在返回,也就是等所有的数据都准备好了以后才返回给客户端
- Decode:将
http
请求的东西解压出来,方便阅览。 - Keep:All session:
Fiddler
默认保存All sessions
,需要注意的是Fiddler
保存的会话状态越多,占用的内存越大。如果性能不是特别好,建议不要保存所有会话。
- Any process:过滤请求(靶心形状按钮是帮我们过滤不想看到的进程发出的请求,只保留我们要看到的进程的请求。比如只想看到谷歌浏览器请求,把靶心拖动到谷歌浏览器放开即可)该功能可以只捕获某个客户端或进程发送的请求,点击
Any Process
拖动鼠标到指定客户端或者进程上。 - find:查找会话,并默认黄色标识该会话。
- Save:可以对捕获到的会话进行保存,保存后只需要把保存的 saz 文件打开即可。
- :保存截图功能,
5
秒之后帮我们把截图保存下来 - Brows:计时器:快速启动浏览器(也可选择下拉框中别的浏览器:IE,火狐,谷歌,edge等)
CLear Cache:WinINET
的缓存,按住CTRL
键点击可以清除已经存在的cookies
- TextWizard:此工具可以将某一编码过的或者未编码过的字串拿到此处解码和编码,也可以在菜单栏
Tools
>TextWizard…
中打开 - TearOff:此功能用来将右边栏里的请求和响应部分给单独拆成一个新窗口,方便视察
- MSDN Search:可以进行搜索功能,原版的话平时几乎不会用到该功能
- :
fiddler
的在线帮助网站 - Online:鼠标悬停显示本机的一些
ip
信息 - X:用来关闭工具栏的按钮,在
View
中可以打开工具栏
3.9 会话面板
-
表头字段解析:
#
:HTTP Request
的顺序,从1
开始,按照页面加载请求的顺序递增,点击可按降序排列- Result:
HTTP/HTTPS
响应的状态 Protocol
:请求使用的协议(如HTTP
、HTTPS
、FTP
)Host
:请求地址的域名URL
:请求的服务器路径和文件名,也包括GET
参数Body
:请求的大小,以byte
为单位Caching
:请求的缓存过期时间或缓存控制header
等值Content-Type
:请求响应的类型Content-Type
Process
:发出此请求的Windows
进程及进程ID
Comments
:用户通过脚本或者右键菜单给此session
增加的备注Custom
:用户可以通过脚本设置的自定义值
4.0 辅助标签+工具
- Get Started
- Statistics
- Inspectors
- AutoResponder
- Composer
- Fiddler Orchestra Beta
- FiddlerScript
- Log
- Filters
- Timeline
4.1 Get Started:
初始页,上面显示了一些 Fiddler
相关的新手基础操作的指引与软件推广信息,如果需要关闭的话就将页面左下角的 Show on startup
取消勾选即可
4.1.1Statistics:
根据在会话列表中选中会话进行统计与分析
Request Count
:请求数
Unique Hosts
:当选中的多条请求,且他们的host
都不一致时,就会展示不相同的个数
Bytes sent
:发送的请求字节数,包括请求头和请求体
Bytes Received
:接收到的字节数,包括响应头和响应体
-
ACTUAL PERFORMANCE
:实际性能,这部分的数据就是将数据流拆成两个部分,客户端发送到fiddler
的时间和fidder
返回数据给客户端的时间计算,fiddler
建联和服务器交互的时间ClientConnected
:表示客户端和fiddler
之间建立连接的时间ClientBeginRequest
:客户端把请求发给fiddler
的时间GotRequestHeaders
:fiddler
接收到客户端发送的请求头时间ClientDoneRequest
:客户端将请求完全发给fiddler
的时间DetermineGateway
:确认网关使用时间DNS Lookup
:DNS
解析时间TCP/IPConnect
:fiddler
与服务器建联时间HTTPSHandshake
:Fiddler
与服务器HTTPS
握手使用使用时间ServerConnected
:Fiddler
与服务器建联时间FiddlerBegin Request
:fiddler
把请求发给服务器时间ServerGotRequest
:服务器接收完fiddler
发送的整个请求的时间ServerBeginResponse
:fiddler
接收到服务器发送的首个响应时间GotResponseHeaders
:fiddler
接收到服务器返回第一个响应字节时间ServerDoneResponse
:服务器发送完毕响应时间(发送到fiddler
)ClientBeginResponse
:fiddler
开始发送响应给客户端的时间ClientDoneResponse
:fiddler
发送完响应给客户端的时间Overall Elapsed
:总的耗时时间
RESPONSE CODES
:响应码统计
Response Bytes(by content-type)
:响应字节统计
REQUESTS PER HOST
:每个主机的请求数
-
ESTIMATED WORLDWIDE PERFORMANCE
:全球网站性能评估,这块主要就是用来说明在其他的地区访问这个请求要花多少时间,主要评估的维度就是RTT
和Elapsed
RTT
:用于说明请求发送到接收到响应要花多少时间Elasped
:则说明总体的耗时需要多少
点击 Statistics
页面底部的 Show Chart
相关的数据会以饼状图的形状展示出来,大概可以查看出哪一种类型的数据占据最多
Collapse Chart
按钮关闭图标展示,Copy this chart
按钮复制图表。
4.2 Inspectors:
该功能用于显示会话列表中选定会话的请求和响应信息,选中该选项卡后,下方区域就会变成 HTTP
请求区域与 HTTP
响应区域,在该选项卡下还存在多个子选项卡,分别代表着各类显示风格与请求和响应内的其他组成内容
请求报文区按钮说明:
Headers
:显示客户端发送到服务器的HTTP
请求的header
,显示为一个分级视图,包括Cookie
、设备信息TextView
:显示POST
请求的body
部分为文本SyntaxView
:为Textview
的加强版,查看语法高亮的请求内容。加上了行数标识,鼠标右键的菜单中,相较Textview
多了一些功能,如Json
、XML
格式化,查找替换等WebForms
:显示请求的GET
参数 和POST body
内容。特别说明,这里body
应该是application/x-www-form-urlen-coded
格式HEX
:用十六进制数据显示请求Auth:header
中的Proxy-Authorization
和Authorization
信息Cookies
:请求发送的cookies
信息Raw
:将整个请求显示为纯文本JSON
:如果请求的body
是Json
格式,就是用分级的Json
来显示它XML
:如果请求的body
是XML
格式,就是用分级的XML
树来显示它
响应报文区按钮说明:
Transformer
:显示响应的编码信息Headers
:显示响应的header
TextView
:使用文本显示相应的body
SyntaxView
:为Textview
的加强版,查看语法高亮的请求内容。加上了行数标识,鼠标右键的菜单中,相较Textview
多了一些功能,如Json
、XML
格式化,查找替换等ImageView
:如果请求是图片资源,显示响应的图片。左侧灰色区域会显示图片的大小、宽高、文件格式等信息,在下方还可以选择缩放模式:Autoshrink
(自动缩放)、Scale to fit
(缩放以适应显示区域大小)、No Scaling
(无缩放)HexView
:用十六进制数据显示响应WebForms
:响应在Web
浏览器中的预览效果Auth
:显示响应header
中的Proxy-Authorization
和Authorization
信息Caching
:显示此请求的缓存信息Cookies
:显示此请求的cookies
信息,私密P3P Header
信息Raw
:将整个响应显示为纯文本JSON
:如果响应的body
是Json
格式,就是用分级的Json
来显示它XML
:如果响应的body
是XML
格式,就是用分级的XML
树来显示它
第一次在 Web
会话列表中双击某个会话或按下 Enter
键,就会激活 Inspectors
选项卡。Fiddler
会根据每个请求和响应的类型,自动选择合适的 Inspectors
视图。例如:如果你选择的会话是一个 image/*
类型,则 Fiddler
会自动选择 Inspectors
中的 ImageView
视图。如下图:
4.3 AutoResponder:
除了使用断点方式来拦截请求,也可以使用 AutoResponder
方式来拦截请求
Fiddler
的自动响应选项卡(AutoResponder
)提供了 Fiddler
最强大的一些功能。它支持创建规则,可以在响应请求时自动触发,常见例子是返回之前捕捉的响应,而不需要访问服务器。
Fiddler 自动响应选项卡界面下图:
上图中,在自动响应选项卡区域的上方是一组选项,能够控制自动响应选项卡的行为。如下:
Enable rules
:复选框用来控制是否激活自动响应选项卡
Unmatched requests passthrough
:复选框用来控制当会话不匹配任何给定的规则时会发生什么。如果选中该选项,不匹配的请求会正常发送到服务器。如果没有选中该选项,Fiddler
会为所有和该规则完全不匹配的HTTP
请求生成HTTP/404 Not Found
响应。如果客户端发送的是条件请求,其中包含请求头If-None-Match
或If-Modified-Since
,那么会返回响应HTTP/304 Not Modified
。
Enable Latency
:选项控制匹配某个规则的请求是立即执行,还是延迟Latency
字段中所指定的毫秒数。如果没有选中该选项,Latency
字段就不会显示。使用这个选项可以更准确地模拟现实中的服务器响应,取消该选项可以提升性能。
Add Rule
:点击该按钮添加一个新的AutoResponder
规则。
Group
:点击该按钮对多个规则进行分组,这样便于统一开启/禁用规则。
Import
:点击该按钮支持导入之前捕获的SAZ
文件,导入文件中的每个会话会被用于规则列表中生成新的规则。你还可以导入 FARX 文件,它包含从AutoResponder
选项卡导出的规则。如下图:
4.4 Composer:
Fiddler
的 Composer
选项卡支持手动构建和发送 HTTP
、HTTPS
和 FTP
请求。此外,还可以从 Web
会话列表中拖拽会话,把它放到 Composer
选项卡中,把该 Session
的请求复制到用户界面。点击 Execute
按钮,把请求发送到服务器端。如下图:
从上图可知,Composer
选项卡是由三个子选项卡组成的:Parsed
、Raw
、Scratchpad
和 Options
选项卡。下面将按序解释每个选项卡,为了便于说明,从右开始
-
请求选项卡(
Options
):
-
Options
选项卡提供的选项如下:Inspect Session
:请求执行后,Inspectors
选项卡会被激活,可以查看请求的结果Fix Content- Length header
:该选项控制Composer
是否会自动添加或修改Content-Length
请求头,表示请求体的大小。在很多情况下,缺少适当的Content-Length
头的请求会HANG
住或导致HTTP
响应出错Follow Redirects
:该选项控制Composer
是否会自动使用响应的Location
头,遵循HTTP/3xx
重定向。如果选中该选项,Composer
在失败之前最多会执行10
次重定向Automatically Authenticate
:该选项控制Composer
是否会自动响应服务器的HTTP/401
或HTTP/407
认证需求。如果选中该选项,会使用Fiddler
所运行的账户的Windows
证书自动响应这些问题。要提供不同的证书集,设置Preference fiddler.composer
.AutoAuthCreds
。如果服务器需要的证书和提供方的证书不同,请求会失败,通常会返回响应HTTP/403
Tear off button
:该按钮会从主Fiddler
窗口删除Composer
,并把它作为独立的悬浮窗口打开。如果选中Inspect Session
选项,该选项就非常有用,因为它支持同时查看Composer
和Inspector
选项卡
-
暂存器(
Scratchpad
):使用Scratchpad
选项卡存储请求集合。如果要发出请求,请选择其文本并按Execute
按钮进行执行。如下图:
Raw
请求:Raw
选项卡提供简单的文本框,可以在该文本框中输入合适的 HTTP
请求。如果请求格式不对(比如忘记在请求头后截断 CRLF
),点击 Execute
按钮不会发起请求
Parsed
请求:Parsed
选项卡支持为每个请求组件使用独立的输入框构建请求
-
选项卡的下方是三个输入框: 在最上方的线下是两个大的文本区:最上方的输入框支持编辑请求头。最下方的输入框支持编辑请求体。如果当前选中的
HTTP
方法不支持请求体(如:GET
方法),当在请求体输入框输入文本时,该输入框会显示红色- 第一个输入框支持指定
HTTP
方法(如:POST
) - 第二个输入框支持指定请求的绝对
URL
(必须以http://
、https://
或ftp://
开头) - 第三个输入框支持指定
HTTP
版本号(通常是HTTP/1.1
)
- 第一个输入框支持指定
Fiddler Orchestra Beta:
Fiddler Orchestra Beta
页签是新版 Fiddler
新增功能,用于抓包远程计算机的数据
其中 Fiddler Orchestra
涉及到两个角色,控制器(Controller
)和客户端(Client
),控制器就是我们正在使用的 Fiddler
软件,其功能是用来收集数据和控制任何一个客户端,而客户端则是向任何其运行所在的 Windows
,Linux
,Mac
主机上收集接收过来的流量将其通过加密的方式报告发送给控制器,控制器会在 Fiddler
软件上的会话端显示。
FiddlerScript:
FiddlerScript
是 Fiddler
提供的 Jscript
脚本,让我们在 Fiddler
的基础上扩展实现一些其他更强大的功能
Fiddler Script Editor
提供了语法高亮,以及智能提示的功能
FiddlerScript
基于 JScript.NET
语言。在 Fiddler
中点击菜单 Rules
> Customize Rules
打开 FiddlerScript Editor
编辑器,在这里可以编写 Fiddler Script
脚本,只要一保存,Fiddler
将会重新编译脚本并自动加载。
Log:
Fiddler
的 Log
选项卡收集日志消息字符串,这些字符串是由扩展、FiddlerScript
或 Fiddler
本身生成的。Fiddler
会记录应用事件(如:当保存或加载 SAZ
文件)以及系统事件(如:系统的网络连接丢失或恢复)的响应通知。
在当前的 Fiddler
版本中,Log
选项卡如下图:
右击 Log
文本框,会显示上下文菜单,提供和日志交互的一些基本命令:
Copy
:把选中的文本复制到剪贴板Send to Session List
:将事件日志作为会话保存到Web会话列表Save to File…
:把当前日志保存到磁盘文件中。可以是纯文本格式,也可以是格式化的富文本格式(.rtf
)Clear
:清空Log
中的所有文本
Log
选项卡支持简单的宏命令,可以从 QuickExec
文本框中调用这些命令。例如:
- 清空日志
log @Log.Save
- 在
Web
会话列表中生成新的会话,该会话的响应体包含Log
选项卡的文本
log @Log.Save
- 把
Log
选项卡的文本保存到指定的文件。文件名以.rtf
结尾,可将文件保存为富文本格式,保存大小和权重,或以文件名以.txt
结尾保存为纯文本
log "@Log.Erport\"filename\""
Filters:
在 Fiddler
中,Filters
(过滤器)选项卡提供了非常方便地将简单的过滤规则应用到正在捕捉的数据流上的方法。在 Filters
选项卡上面的所有操作 FiddlerScript
可以模拟(通常更准确或强大),但是对于简单的任务,Filters
选项一般就足够满足过滤需求。如下图:
上图中,选中 Filters
选项卡左上方的 Use Filters
复选框后,就可以使用 Filters 给出的过滤器对流量进行过滤了。选中 Use Filters
复选框后,对于选定的会话,可以对该会话进行如下过滤操作:
- 是否隐藏显示
- 是否在
Web
会话列表中添加标识 - 是否设置断点用于人工调试
- 是否阻断发送
- 是否自动修改其数据头
Fiddler
还会为隐藏的会话提供代理功能,即使在 Web
会话列表中没有显示这些会话。
选项卡右上方的 Actions
按钮支持把当前选中的过滤器作为过滤集,加载之前保存的过滤集,并对之前捕捉到的数据流应用当前过滤规则。如下图:
1.Hosts(主机过滤)
Hosts 框提供根据主机名过滤的功能。如下图:
Hosts 过滤支持:
- 按区域进行过滤(Zone Filter
),如果选择只显示局域网会话(Show only Interanet Hosts
),Fiddler
将只会列出属于局域网的会话。如果选择只显示互联网的会话(Show only Internet Hosts
),Fiddler
将只会列出属于互联网的会话。如下图:
- 按主机进行过滤(Host Filter
),如果选择隐藏一下主机(Hide the following Hosts
),Fiddler
将隐藏 Hosts
输入框输入的主机。如果选择只显示以下主机(Show only the following Hosts
),Fiddler
将仅仅显示 Hosts
输入框输入的主机。如果选择标记以下主机(Flag the following Hosts
),Fiddler
将在 Web
会话列表中加粗显示 Hosts
输入框中输入主机的所有会话
注意:
(1)修改过滤器后,需要执行“Actions”的“Run Filterset now”按钮,使修改后的过滤器配置立即生效。
(2)Hosts 文本框不会自动通过通配符匹配子域名。如果你设置了“Show only the following Hosts”并且在列表中只有hxstrive.com,那么将无法看到 www.hxstrive.com 网站下的数据流。为了查看 hxstrive.com 域名下所有的数据流,需要手动添加通配符 。例如:.hxstrive.com。
在通配符方式下就可以包含如 test.hxstrive.com 和 doc.hxstrive.com 这样的网站。如果你想查看根目录 hxstrive.com下的数据流,可以把通配符改成 *hxstrive.com 的形式 —— 这样就可以包含所有域名以 hxstrive.com 结束的数据流,前面不需要加点。如果有多个 host,可以使用分号分隔。
- Client Process(客户端进程)
进程过滤器用于控制 Fiddler
显示哪个进程的数据流。应用程序只有和 Fiddler
运行在相同的主机时,Fiddler
才能判断出是哪个进程发出的哪个请求。如下图:
Show only traffic from
选项只显示选中进程下的数据流(注意:下拉列表中包含了系统中当前正在运行的所有进程)。如下图:
Show only Internet Explorer
选项只显示进程名称以IE
开头或请求的User-Agent
头包含compatible
,MSIE
的数据流
Hide traffic from Service Host
选项会隐藏来自进程svchost.exe
的数据流,svchost.exe
进程是个系统进程,会同步RSS Feeds
以及执行其他后台网络活动
- Request Headers(请求头)
可通过下面这些选项,添加或删除 HTTP
请求头,也可以标识包含某些请求头的请求。如下图:
Show only if url contains
:选项框支持基于URL
隐藏某些请求,仅仅显示我们感兴趣的请求。可使用前缀EXACT
来限定大小写敏感,如下:
EXACT:hxstrive.com/q=字符串
也可以使用正则表达式
REGEX:(?insx).*\.(gif|png|jpg)$ # 只显示图片请求
Flag requests with header
:选项支持指定某个HTTP
请求头名称,如果在Web
会话列表中存在该请求头,会加粗显示该会话Delete request header
:选项支持指定某个HTTP
请求头名称,如果包含该请求头,会删除该请求头Set request header
:选项支持创建一个指定了名称和取值的HTTP
请求头,或将HTTP
请求头更新为指定取值
Timeline:
Fiddler
的时间轴(TimeLine
)选项卡支持使用 瀑布 模型查看 1 到 250 个选中的会话,这对于性能分析和理解请求之间的关联是很有用的。
选项卡的主体内容就是数据流视图。页面的上方是标题,显示时间轴模式(默认情况下是 传输时间轴 Transfer Timeline
)。点击右上方的帮助(Help)链接,会使用浏览器打开关于该功能的帮助页面。如下图:
在选项卡中任意位置右击,可以看到上下文菜单。如下图:
上图中:
AutoScale Chart
(自动缩放图表):如果选中该选项,会水平调节图形宽度,使得整个图形适配选项卡宽度,不需要水平滚动条Copy Chart
(复制图表):点击该选项会把图形以位图格式拷贝到剪贴板,以便粘贴到其他文档中-
Mode
:Timeline
控制图形如何显示:Timeline
(时间轴):通过时间轴线条显示每个会话,用彩色条表示时间段,