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
选项卡中勾选了什么东西才导致的! 所以使用过滤器
要注意一下!