Fiddler抓包之过滤器 Filters 详解

如果要对当前Fiddler的抓包进行过滤(如过滤掉与测试项目无关的抓包请求),那功能强大的 Filters 过滤器能帮到你。

Fiddler过滤器 Filters 详解

进入 Filters 选项页,勾选上 Use Filters,即启用过滤器。

Actions 四个选项说明:
Run Filterset now  -- 使用当前的过滤规则。
Load Filterset... -- 加载(以前保存的)过滤规则。
Save Filterset... -- 保存当前的过滤规则(非常实用,如针对每个应用测试设置一套过滤规则)
Help -- 进入fiddler在线帮助。

Fiddler过滤器 Filters 详解

小贴士:要掌握下面这些过滤规则,最好的方式是边看边实验。

一、 Hosts 过滤 (较常用)

- No Zone Filter - --不设置区域过滤器。
Show only Intranet Hosts -- 只显示内部的Hosts,即过滤掉外网的Hosts。此时,只显示URL请求目标服务器在内网的请求。
Show only Internet Hosts -- 相对应,只显示外网的Hosts。

- No Host Filter - -- 不设置过滤主机IP条件。
Hide the following Hosts -- 隐藏输入到下面文本框中的Hosts。
Show only the following Hosts -- 仅显示输入到下面文本框中的Hosts。
Flag the following Hosts -- 加粗显示如下 Hosts。

示例,只想显示 www.51ste.com 的请求,则选中 Show only the following Hosts ,并在下面输入框中填入 www.51ste.com 即可。此时,哪怕是http://51ste.com的请求,也会被过滤掉,显示不出来。

二、Client Process 过滤(客户端进程过滤,通过配置只过滤/不过滤哪些进程的请求。用的不多)

Show only traffic from -- 你可以指定只显示哪个 Windows 进程中的请求,右侧会列出当前所有的 Windows 进程。
Show only Internet Explorer traffic -- 只显示 IE 发出的请求。
Hide trafficfrom service host -- 隐藏来自service host的请求。

三、Request Headers (根据请求头信息进行过滤。常用)

Show only if URL contains  -- 仅显示URL中包含指定字符串的请求(字符串可以是URL中的一部分,多个字符串用空格分开(多个表示 或,即只要URL包含任一字符串,都会显示), 可以是正则或完整的URL)。
Hide if URL contains  -- 仅隐藏URL中包含指定字符串的请求(字符串可以是URL中的一部分,多个用空格分开, 可以是正则或完整的URL)。

Flag requests with headers -- 标记带有特定header的请求(即加粗)。例如,我想突出显示header信息中带有token字段的URL请求,即可以勾选上这项,并在后面输入:token
Delete request headers -- 删除请求中的Header字段。(在进行测试时非常有用,比如去掉URL中的token信息,判断服务器是否有做token校验)
Set request Header -- 在URL请求中添加头字段,与上一条对应。前面输入字段,后面输入值。

四、Breakpionts 设置断点(很少用,毕竟可以通过 bpu、bpafter以及改写规则js设置断点)

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匹配成功的请求设置断点。

五、Response Status Code (根据URL请求响应状态码进行过滤,用的不多)

Hide success(2xx) -- 隐藏响应状态码为2xx的URL请求,如响应状态码为200的URL请求将隐藏掉。
Hide non-2xx -- 隐藏响应状态码不是2xx的URL请求。
Hide Authentication demands(401,407) -- 隐藏认证(响应状态码为:401 407)的URL
请求。
Hide redirects(300, 301, 302, 303,307) -- 隐藏重定向(响应状态码为:300 301 302 303 307)的URL请求。
Hide Not Modifield(304) -- 隐藏不是缓存的状态码(304)的URL请求。 关于304请求,可以看 Fiddler之Replay功能详解 http://www.51ste.com/share/det-889.html

六、Response Type and Size (根据响应类型和报文大小进行过滤,用的较少)

Show all  Content-Type -- 显示所有类型Content-Type的请求,Content-Type即为响应结果header信息中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文件。
Block image files -- 阻止返回正常图片文件。
Block SWF files -- 阻止返回正常SWF文件。
Block CSS files -- 阻止返回正常CSS文件。
小提示:这个功能可以测试CSS、JS等加载失败的情况下页面的展示情况。

七、Response Header (根据URL请求响应header信息进行过滤处理,用的较少)

Flag responses that set cookies -- 响应中有cookies信息的加上标识(斜体)。
Flag responses with headers -- 标记响应中带有特定header的请求(即加粗)。
Delete response headers -- 删除响应信息中指定的Header字段。
Set response header -- 在响应中添加header字段。如添加Transfer-Encoding: chunked,前面填写Transfer-Encoding,后面填写chunked。

想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi可以使用WinPcap来进行网络数据包抓取。以下是一些基本步骤: 1. 下载并安装WinPcap库。 2. 在Delphi代码中导入WinPcap头文件和库文件。例如: ``` {$IFDEF WIN32} {$DEFINE DELPHI} {$DEFINE WINDOWS} {$LINKLIB wpcap.lib} {$LINKLIB Packet.lib} {$ENDIF} {$IFDEF DELPHI} {$ALIGN ON} {$ENDIF} {$IFDEF FPC} {$PACKRECORDS C} {$ENDIF} uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WinPcap; ``` 3. 打开一个适配器并设置过滤器。例如: ``` var Adapter: Ppcap_t; Netmask: bpf_u_int32; ErrBuf: array[0..PCAP_ERRBUF_SIZE-1] of AnsiChar; Filter: PAnsiChar; begin Adapter := pcap_open(AdapterName, PCAP_OPENFLAG_PROMISCUOUS, 0, 1000, nil, ErrBuf); if (Adapter = nil) then begin ShowMessage('Error opening adapter: ' + ErrBuf); Exit; end; if (pcap_lookupnet(AdapterName, @NetAddr, @Netmask, ErrBuf) < 0) then begin ShowMessage('Error looking up netmask: ' + ErrBuf); Exit; end; Filter := 'tcp and port 80'; if (pcap_compile(Adapter, @Bpf, Filter, 1, Netmask) < 0) then begin ShowMessage('Error compiling filter: ' + pcap_geterr(Adapter)); Exit; end; if (pcap_setfilter(Adapter, @Bpf) < 0) then begin ShowMessage('Error setting filter: ' + pcap_geterr(Adapter)); Exit; end; ``` 4. 循环抓取数据包并处理。例如: ``` var PktHdr: pcap_pkthdr; PktData: PAnsiChar; Res: Integer; begin while (not Terminated) do begin // Capture the next packet PktData := pcap_next(Adapter, @PktHdr); if (PktData <> nil) then begin // Process the packet data here ... end; end; ``` 这只是一个基本的示例,你可能需要根据具体需求进行更多的代码编写。另外,WinPcap有一些限制和安全风险,需要注意相关问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值