wireshark显示过滤器

wireshark显示过滤器是用来将已经捕获的数据包进行过滤,只显示符合过滤条件的数据包。显示过滤器通常比捕获过滤器更加的常用,通常在抓包的过程中不加限定条件,任何包都抓取,然后通过显示过滤器来分析特定的数据包。

显示过滤器有两种方法,分别是:

  • 对话框方式
  • 文字表达式方式

对话框方式显示器

该方法非常的简答,只需要动动鼠标就可以选择自己需要的过滤规则。依次点击分析——>Display Filter Expression

QQ截图20201208114006 - wireshark显示过滤器

左边的框是所有可用的协议域。选择一个过滤协议域,然后选择关系,最后填上值,一个显示过滤就完成了。

文字表达式的显示过滤器

对话框方式适合新手,但玩过一段时间wireshark后,熟悉它的显示过滤器规则后,就可使用文字表达式方式来操作。下面演示一些常见的显示过滤器:

协议限定

用来限定常用的协议,如http、ssh、tcp等。

只显示http协议

http

显示http或ssh协议数据包

http or ssh

限定IP地址及端口

IP地址和端口是用的最多的过滤条件了,但和捕获过滤器不同的是,显示过滤器是用ip.addr == ip地址来限定。

限定IP

ip.addr == 192.168.110.145

限定数据包的大小

frame.len > 128

常见的比较操作符有:

  • 大于 >
  • 小于 <
  • 大于等于 >=
  • 小于等于 <=
  • 等于 ==
  • 非等于 !=

逻辑表达式的作用

frame.len > 128 and ip.addr == 192.168.110.145

常见的逻辑运算符有:

  • 且,两个条件同时满足 and
  • 或,两条条件满足一个 or
  • 非,没有条件被满足 not
  • 异或,其中一个条件满足另一个不满足 xor

限定端口号

需要注意的是,port前面要加上限定的协议,如tcp.port

tcp.port==80

常用的显示过滤器表达式

最后,再给出常用的显示过滤器表达式

!arp 排除arp数据包
http 只显示http数据包
!tcp.port==80 过滤http数据包
tcp.port==21 or tcp.port==22 ftp或ssh
tcp.flags.syn==1 具有syn标志位的tcp数据包
tcp.flags.rst==1 具有rst标志位的tcp数据包