在 Fiddler 中,Filters(过滤器)选项卡提供了非常方便地将简单的过滤规则应用到正在捕捉的数据流上的方法。在 Filters 选项卡上面的所有操作 FiddlerScript 可以模拟(通常更准确或强大),但是对于简单的任务,Filters 选项一般就足够满足过滤需求。如下图:
上图中,选中 Filters 选项卡左上方的“Use Filters”复选框后,就可以使用 Filters 给出的过滤器对流量进行过滤了。选中 Use Filters 复选框后,对于选定的会话,可以对该会话进行如下过滤操作:
是否隐藏显示
是否在 Web 会话列表中添加标识
是否设置断点用于人工调试
是否阻断发送
是否自动修改其数据头
Fiddler 还会为隐藏的会话提供代理功能,即使在 Web 会话列表中没有显示这些会话。
选项卡右上方的“Actions”按钮支持把当前选中的过滤器作为过滤集,加载之前保存的过滤集,并对之前捕捉到的数据流应用当前过滤规则。如下图:
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,可以使用分号分隔。
进程过滤器用于控制 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 以及执行其他后台网络活动。
可通过下面这些选项,添加或删除 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 请求头更新为指定取值。