CaptureFilters
这部分抓包过滤语法,和DisplayFilter语法完全不同,一定要注意这一点
- 对ip进行限定
host 172.18.5.4
只抓取与ip相关的数据包,记住是host
,不是ip
- 仅对子网进行限定
net 192.168.0.0/24
ornet 192.168.0.0 mask 255.255.255.0
- 只对局域网所有主机发包进行限定
src net 192.168.0.0/24
- 只对收包地址为所有局域网主机进行限定
dst net 192.168.0.0/24
- 只对端口进行限定
port 53
- 对服务器上所有非80和25端口通信进行抓包
host www.example.com and not(port 80 or port 25)
- 过滤掉所有arp通信和dns通信
not arp and port not 53
,记住不要写成not arp and not port 53
- 只抓取一个端口范围内的数据包
tcp portrange 1501-1549
- 过滤掉局域网内特定收包地址的数据包
not ether dst 01:80:c2:00:00:0e
- 只抓取ip通信
ip
- 过滤掉广播和多播
not broadcast and not multicast
- 高级语法 只抓取HTTP GET 请求包
port 80 and tcp[((tcp[12:1] &0xf0)>>2):4] = 0x47455420
notice部分
注意,captureFilter语法中没有no
,只有not。
一般的组合都是关键字 [not] value
,再用逻辑连接
附上链接:
wireShark官方文档之抓包过滤语法及常用测试用例
Capture filters for wireshark
DisplayFilters语法
- 只显示有关tcp端口为25 或者icmp协议的数据包
tcp.port eq 25 or icmp
- 只显示局域网内通信
ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16
- 只显示tcp buffer 为full的数据包
tcp.window_size==0 && flags.reset !=1
-只显示url中gl=se的数据包http.request.uri matches "gl=se$"
这里是perl regular expression - 只显示特定ip地址的通信
ip.addr== 192.168.100.103
- 上面的内容等同于
ip.src == 192.168.100.103 or ip.dst==192.168.100.103
- 不显示特定ip的通信
ip.addr != 192.168.100.103
- 上述内容是个表达式,因此也可以写作
!(ip.addr == 192.168.100.103)
notice部分
这里的语法都有一种面向对象的感觉,因此都需要用.
连接起来,没有not(CaptureFilters语法)
部分.
不对不对,可以有not的。在书上看到了not ip
,现在记住,永远没有no
一说就可以了。
附上链接:
wiresharkDisplayFilters官方样例
wireshark display filters全部属性
pacap-filter
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。