wireshark过滤器表达式
学习自:wireshark 实用过滤表达式_wireshark过滤器表达式-CSDN博客
Wireshark可以用过滤器表达式对IP、协议、端口、长度、内容等信息进行过滤。
1、逻辑运算符
或:and
与:or
非:!、not
比较运算符:==、>=、<=、<、>
2、过滤IP
1)源地址为192.168.0.1的包
ip.src == 192.168.0.1
2)目的地址为192.168.0.1的包
ip.dst=192.168.0.1
3)源地址或目的地址是192.168.0.1的包
ip.addr=192.168.0.1
4)排除上述包
!(表达式)
3、过滤协议
1)仅捕获某种协议的包
直接写协议名即可,如http(区分大小写)。
2)捕获多种协议的包
http or telent
3)排除某种协议的包
not http、! http
4、过滤端口(需要指明协议)
1)捕获某一端口的包
tcp.port == 80
2)捕获多端口的包
可以用and来表示多端口并列:tcp.port == 80 and 8080
也可以用比较运算符:udp.port >= 2048
5、过滤长度、内容
1)长度(数据段的长度)
udp.length >= 30
http.content_length <= 20
2)数据包内容
http.request.urimatches "vipscu"(http请求中含有vipscu字段的请求信息)
6、过滤时间
frame.time >= "Apr 16, 2021 06:00:00.0" && frame.time <= "Apr 16, 2021 06:59:00.0"
frame.time > "2024-04-11 11:00:00" and frame.time < "2024-04-11 11:01:00"
注意:时间要用双引号括起来
7、其他一些实用方法
如果要只显示某段HTTP、TCP链路,把不属于该链路的报文隐藏。
可以右键单击要追踪的链路上的一个包,再点“追踪流”,选中HTTP或TCP流即可。
8、使用tcpdump过滤器语法
wireshark支持使用tcpdump过滤器语法,关于tcpdump抓包命令,可以看Linux:tcpdump抓包指令
如果不习惯wireshark的过滤器语法,可以直接在过滤器中用tcpdump的过滤器语法:
#目的tcp端口 tcp dst port 3128 #源IP地址 src host 10.1.1.1 #IP地址 host 10.1.1.1 #端口范围2000-2500 portrange 2000-2500 #非icmp包(因为ping工具发来的是icmp包) not icmp