我需要使用 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 数据包
我需要使用 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 数据包
你没有做错。这是关于 libpcap 和供应商如何读取/写入标头的。要删除 STP 802.1d 行,我使用以下命令:
tcpdump -i eth0 not arp and not llc
此致
您可以过滤每个协议的众所周知的多播 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