Fiddler 的使用
前言
Fiddler 是最常用的 Web 调试工具之一。对于开发来说,前端可以通过 Fiddler 代理来调试 JS、CSS、HTML样式。后端可以通过 Fiddler 查看请求和相应,定位问题。对于测试来说,可以通过抓包方式修改前端请求参数和模拟后端返回,快速定位缺陷。总之,不管是开发还是测试,Fiddler 都是一款工作中不可或缺的辅助利器。
1. 简介
官网:https://www.telerik/fiddler
Fiddler 是一个 HTTP 协议调试代理工具,是由 C# 写出来的,它包含一个简单却功能强大的基于 JScript.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 SessionFind Session…(或 Ctrl + F):命令会打开Find Session窗口,搜- 索捕获到的数据流
3.3 Edit 菜单:
Copy:下面的几个子菜单分别支持复制选中Session的某些信息Remove:下面的子菜单分别支持从Web Session列表中删除全部、选择或未选中的SessionSelect All(或 Ctrl + A):命令选择Sessions列表的所有内容Paste as Session:命令会基于剪贴板上的内容,生成一个或多个模拟的Web SessionFind Session…(或 Ctrl + F):命令会打开Find Session窗口,搜索捕获到的数据流
3.4 Rules 菜单:
Hide Image Request:触发器控制是否在Web Session列表中显示图像类SessionHide CONNECTS:触发器控制是否在Web Session列表中显示使用CONNECT请求方法的SessionAutomatic 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状态的响应的所有SessionRequest 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/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-TypeProcess:发出此请求的Windows进程及进程IDComments:用户通过脚本或者右键菜单给此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和ElapsedRTT:用于说明请求发送到接收到响应要花多少时间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:显示响应的headerTextView:使用文本显示相应的bodySyntaxView:为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 fiddlerposer.AutoAuthCreds。如果服务器需要的证书和提供方的证书不同,请求会失败,通常会返回响应HTTP/403Tear 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,那么将无法看到 www.hxstrive 网站下的数据流。为了查看 hxstrive 域名下所有的数据流,需要手动添加通配符 。例如:.hxstrive。
在通配符方式下就可以包含如 test.hxstrive 和 doc.hxstrive 这样的网站。如果你想查看根目录 hxstrive下的数据流,可以把通配符改成 *hxstrive 的形式 —— 这样就可以包含所有域名以 hxstrive 结束的数据流,前面不需要加点。如果有多个 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/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(时间轴):通过时间轴线条显示每个会话,用彩色条表示时间段,


发布评论