TCPDump - 按 MAC 地址过滤

网络工程 MAC地址 ip 转储
2021-07-26 13:43:04

我想显示来自或来自特定 MAC 地址的所有流量。为此我试过

sudo tcpdump host aa:bb:cc:11:22:33

它不起作用并返回一个错误

tcpdump: pktap_filter_packet: pcap_add_if_info(en0, 1) failed: pcap_add_if_info: pcap_compile_nopcap() failed

我不知道如何解释此错误消息,也不知道如何解决问题。

有什么帮助吗?

2个回答

您已将以下内容用作数据包过滤器: host aa:bb:cc:11:22:33

就目前而言,这是在寻找 IP 或主机名,但您为其提供了 MAC 地址。

要使用 MAC 地址,您需要包含ether数据包过滤器原语。

在您的情况下,以下应该有效:

sudo tcpdump ether host aa:bb:cc:11:22:33

或者,如果它需要你指定接口,那么它会是这样的:

sudo tcpdump -i eth0 ether host aa:bb:cc:11:22:33

您还可以将该not参数与 YLearn 的答案结合使用来过滤来自特定 mac 地址的数据包。在我的情况下,我需要除 00:11:22:33:44:55 之外的所有数据包,我使用了这个-

sudo tcpdump ether -i eth1 host not 00:11:22:33:44:55