![例如,“tcpdump ether host”是否可以使用掩码进行过滤以获取具有特定 OUI 的主机?](https://linux22.com/image/216679/%E4%BE%8B%E5%A6%82%EF%BC%8C%E2%80%9Ctcpdump%20ether%20host%E2%80%9D%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%8E%A9%E7%A0%81%E8%BF%9B%E8%A1%8C%E8%BF%87%E6%BB%A4%E4%BB%A5%E8%8E%B7%E5%8F%96%E5%85%B7%E6%9C%89%E7%89%B9%E5%AE%9A%20OUI%20%E7%9A%84%E4%B8%BB%E6%9C%BA%EF%BC%9F.png)
我试图通过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