当前位置: 首页 > Kali Linux, TCP/IP, 安全工具, 网络安全 > 正文

Wireshark数据包分析(二)——高级过滤语法

过滤器:

过滤器算是高级的设置了,它可以按照设置的要求来捕获数据包,功能十分强大好用。Wireshark提供了两种数据包的过滤规则:

  • 捕获过滤:在数据包捕获时,按指定要求捕获相关数据包。
  • 显示捕获:Wireshark会捕获所有是数据包流量,可以按照设置条件来显示相关的数据包。

(1)捕获过滤

当处理的数据包较大或者需要捕获指定的数据包时,可以采用这种设置。其设置在上图是Capture Filter里可以设置。

捕获所使用的BPF(Berkeley Packet Filter)语法表达式:

host、net、port 名字或是数字
src、dst 传输方向
ether、ip、tcp、udp、http、ftp 匹配的协议

 

 

 

三种逻辑运算符:

  • 与 (&&) 连接运算符
  • 或 ( || ) 选择运算符
  • 非 (!) 否定运算符

通过BPF限定词与逻辑运算符可以组合出很多高级实用的过滤规则。例如:

  • host 192.168.1.23  //捕获所有与192.168.1.23主机的IPV4流量
  • host fe80::2ad0:5aff:fe6f:92b0   //捕获所有与fe80::2ad0:5aff:fe6f:92b0主机的IPV6流量
  • host server1  //捕获所有与server1主机流量
  • ether host 00-8a-23-e3-d2-df  //基于MAC地址过滤
  • src host 192.168.1.20  && port 80  //捕获来自192.168.1.2的80端口流量
  • dst 192.168.1.20 //捕获发送到192.168.1.20的流量
  • !port 8080  //捕获非8080端口的流量
  • icmp  //只捕获ICMP流量
  • !ip  //只捕获ipv流量,ip6只捕获ipv6流量

(2)显示捕获

显示过滤可以在主菜单下面的过滤框里设置,在右边的“Expression”里列举了所有的协议及其可用的过滤规则,其设置功能十分强大灵。设置成功后会自动给出过滤表达式,对于熟悉的使用者,可以直接使用过滤表达式来筛选。

相关比较操作符:

== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

 

 

 

 

 

 

逻辑操作符:

and 两个条件同时满足
or 其中一个条件满足
xor 有且仅有一个条件满足
not 没有条件满足

 

 

 

 

相关表达式实例:

  • ip.addr==192.168.1.10 or ip.addr==192.168.1.11
  • !tcp.port==3389
  • tcp.flags.syn==1
  • !dns
  • https
  • tcp.port==23 || tcp.port==22
  • smtp || pop || imap

当然,对于常用的过滤表达式,可以保存起来一便再次使用,在主菜单的Capture->Capture Filters里有相关设置。

关于过滤器的设置,可以详见wiki上的官方文档http://wiki.wireshark.org/CaptureFilters ,另外有大牛在freebuf也写的一篇文章:WireShark Filter应用简介 



这篇博文由 s0nnet 于2014年11月04日发表在 Kali Linux, TCP/IP, 安全工具, 网络安全 分类下, 欢迎你在下面发表评论
如无特别说明,计算机技术分享发表的文章均为原创,欢迎大家转载,转载请注明: Wireshark数据包分析(二)——高级过滤语法 | 计算机技术分享
关键字:

Wireshark数据包分析(二)——高级过滤语法:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter