例如,“tcpdump ether host”是否可以使用掩码进行过滤以获取具有特定 OUI 的主机?

例如,“tcpdump ether host”是否可以使用掩码进行过滤以获取具有特定 OUI 的主机?

我试图通过src ether host查看具有特定 MAC 前缀的所有设备来过滤流量。如果这就像 IP,它可能会进行过滤以src ether host aa:bb:cc:00:00:00/24查看 OUI 的匹配aa:bb:cc...但它不喜欢那样。

有没有办法通过MAC前缀或掩码进行匹配?

如果重要的话:

这是用于 Wi-Fi 的,因此从技术上讲,它是一个 SA 地址,如果您滚动到右侧(tcpdump将其放在src ether host字段中),您就可以看到该地址。

13:12:48.139316 1.0 Mb/s 2412 MHz 11b -41dBm signal -41dBm signal antenna 0 0us BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:aa:bb:cc:84:05:7c Probe Request (emporia) [5.5* 11.0* 1.0* 2.0* 6.0 12.0 24.0 48.0 Mbit]

答案1

名称(host、src host、ether、ether src...)基本上是相应 tcp od ip 数据包中特定字节的快捷方式。 tcpdump 过滤器中不允许使用通配符,因此必须更深入地研究 tcp 数据包本身。以太网源地址位于从 ether[6] 开始的 6 个字节中,以太网目标地址位于从 ether[0] 开始的 6 个字节中。

因此,如果想要过滤 src 地址的三个字节,则必须过滤字节 6,7 和 8。由于无法过滤树字节 ( "tcpdump: data size must be 1, 2, or 4"),因此过滤器必须分为两部分。字节 6 和 7:ether[6:2],字节 8:ether[8:1]

这意味着,过滤器将如下所示: ether[6:2]==0xaabb and ether[8:1]==0xcc

相关内容