Fiddler之请求过滤(Filters)
我们在使用Fiddler进行抓包时,发现只要是使用了Fiddler代理服务器的所有HTTP/HTTPS数据包都会在Fiddler数据列表中显示出来,但有时我们只关注从某个或某些服务器发出的请求,不想要看到其他服务器的数据包,应该怎么进行设置呢?我们都知道Fiddler是一款强大的抓包工具,我们可以通过设置来过滤只筛选出我们想要的数据包。
开启fiddler后,会监听所有的请求,在大多数情况下,我们只需要监听部分请求,此时可以使用Filters功能去控制。
界面显示如下:
默认情况下过滤是未开启的,需要勾选“Use filters”进行启动。如果有多套监听方式,也可以将其导出,在下次需要的时候进行导入。
配置请求过滤之后:
具体的含义:
Run Filterset now 运行当前过滤集。
Load Filterset 加载过滤集,一个以ffx为后缀名的文件,文件里用xml记录过滤条件。当加载了过滤集,在Save Filterset 后会多出来一个选项Reload “xxx.ffx”,方便再次使用。
Save Filterset 以ffx为后缀名,保存当前过滤集。默认保存地址%userprofile%\Documents\Fiddler2\Filters。
一、Hosts
1.过滤内网主机/过滤外网主机,一般很少用到,主要使用第二种方式进行过滤。
No Zone Filter 不分区域过滤(内网外网都显示)
Show only Intranet Hosts 只显示内网主机(可以通过Fiddler的快照功能,在Sessions里边加一个本地的Session,来查看此功能的效果)
Show only Internet Hosts 只显示互联网主机
2.域名过滤,通过配置,只监听/或不监听默认域名。
在选中不同的过滤方式后,配合下面输入框中输入的地址信息,进行过滤。
(1、Hide the following Hosts:表示在输入框中,输入了哪些域名信息,就不过滤,不进行监听。
如:选中此项,在输入框中,输入www.baidu.com时,此时请求www.baidu.com的请求都不会进行监听,在左侧的session面板中,将不会有www.baidu.com相关的请求记录。
(2、Show only the following Hosts:标识在输入框中输入了哪些域信息,就只监听这些域名,其他的域名将不进行监听。
如:选中此项,在输入框中,输入www.baidu.com时,只有在访问www.baidu.com的请求才会进行监听,即左侧的sessson中只包含www.baidu.com的请求,其他的请求将不会监听显示。
(3、Flag the following Hosts:表示在输入框中输入了哪些域名信息,在左侧的session面板中,这些配置的域名在监听到时,会加标识(如:加粗)
如:选中此项,在输入框中输入www.baidu.com,在访问www.baidu.com时左侧的session面板中,会加标识(加粗)
二、Client Process
进程过滤,通过配置,只监听/不监听哪些进程的请求。
(1、Show only traffic from:只显示来自后面选择进程的请求
(2、Show only Internet Exporer traffic:只显示来自IE的请求
(3、Hide trafficfrom service host:隐藏来自service host的请求
三、Request Headers
表示根据请求头信息,进行过滤。
四、Breakpoints
根据断点,进行配置过滤
五、response status code
根据响应代码进行过滤
六、Response type and size
根据响应类型和数据大小,配置过滤
七、response headers
根据响应头信息,配置过滤
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在右侧菜单中,找到Fittlers选项,共有9个部分进行设置
1.Use Filters:勾选则表示使用过滤,不勾选则表示不进行过滤
2.Actions:有四个选项:
- Run Filterset now:立即运行过滤设置;
- Load Filterset:加载保存的过滤设置;
- Save Filterset:保存过滤设置;
- help:帮助
3.Hosts:该设置项有两个选项
- 第一个下拉框是只显示内网或者外网选项
- 第二个下拉框是根据主机名信息显示或者隐藏或者标记指定请求
4.Client Process:有三个选项:
- Show only traffic from:根据进程信息进行过滤,选择后,将只显示由该进程发出的请求;
- Show only Internet Explorer traffic:只关心由IE浏览器发出的请求;
- Hide traffic from Service Host:隐藏来自service host(即由svchost.exe进程发出)的请求
5.Request Headers:有五个选项:
- Show only if URL contains:可以通过正则表达式过滤请求地址中包含或不包含的内容,例如REGEX:\.(js|css|js\?.*|css\?.*)$(隐藏所有js和css请求);
- Hide if URL contains:与Show only if URL contains相反,一个是显示,一个是隐藏;
- Flags requests with headers:支持指定某个http请求头名称,如果在web session列表中存在该请求头,会加粗显示该session;
- Delete requests headers:与Flags requests with headers类似,这里是如果包含该请求头,则删除该请求头;
- Set request header:将HTTP请求头更新为所输入的值。
6.Breakpoints,断点设置,有四个选项:
- Break request on POST:对POST请求设置断点;
- Break request on GET with query string:会为所有方法为GET且URL中包含了给定查询条件的请求设置断点;
- Break on XMLHttpRequest:对所有能够确定是通过XMLHTTPRequest对象发送的请求设置断点;
- Break response on Content-Type:会为所有响应头Content-Type中包含了指定文本的响应设置响应断点。
7.Response Status Code:根据响应状态码设置断点。
8.Response Type and Size:有几种类型:
- 一类是根据响应数据的类型显示或隐藏;
- 一类是根据响应数据的大小显示或隐藏;
- 一类是根据响应所需要的时间设置背景颜色;
- 一类是根据文件类型进行限制。
9.Response Headers:与Request Headers不同的是,这块区域是针对响应数据的头部进行过滤。