0

我需要使用 tcpdump 在接口上捕获并过滤掉所有 arp 和 stp/rstp 数据包。我试过这个命令,它确实过滤掉了 arp,但我仍然看到 rstp 数据包:

tcpdump -n -i ens224 not arp and not stp

也试过这个,还是看到rstp包

tcpdump -n -i ens224 not stp

我究竟做错了什么?

我已经阅读了这篇文章,但它在 tcpdump 的上下文中没有帮助,寻找特定的语法: 如何从 pcap 文件中过滤 rtsp 数据包

4

2 回答 2

1

你没有做错。这是关于 libpcap 和供应商如何读取/写入标头的。要删除 STP 802.1d 行,我使用以下命令:

tcpdump -i eth0 not arp and not llc

此致

于 2021-08-18T14:22:28.363 回答
0

您可以过滤每个协议的众所周知的多播 MAC 地址。看这张表:

https://embeddist.wordpress.com/2015/10/07/well-known-ethernet-multicast-address/https://en.wikipedia.org/wiki/Multicast_address#Ethernet

你可以这样:

(RSTP)

tcpdump -n -i <interface> ether host 01:00:0c:cc:cc:cd

(CDP)

tcpdump -n -i <interface> ether host 01:00:0c:cc:cc:cc

(LLDP)

tcpdump -n -i <interface> ether host 01:80:c2:00:00:0e
于 2021-11-10T18:58:06.130 回答