在 Debian 下用 dumpcap 抓包并按 MAC 地址过滤,有几种常见写法,取决于你是想在抓包时过滤还是抓完后过滤。
dumpcap 使用的是 BPF 捕获过滤器(和 tcpdump 一样)。
sudo dumpcap -i eth0 -f "ether src 00:11:22:33:44:55" -w mac_src.pcap
sudo dumpcap -i eth0 -f "ether dst 00:11:22:33:44:55" -w mac_dst.pcap
sudo dumpcap -i eth0 -f "ether host 00:11:22:33:44:55" -w mac_host.pcap
sudo dumpcap -i eth0 -f "not ether host 00:11:22:33:44:55" -w no_mac.pcap
sudo dumpcap -i eth0 -f "ether host 00:11:22:33:44:55 or ether host aa:bb:cc:dd:ee:ff" -w macs.pcap
如果已经抓了包:
tshark -r input.pcap -Y "eth.src == 00:11:22:33:44:55" -w output.pcap
或目的 MAC:
tshark -r input.pcap -Y "eth.dst == 00:11:22:33:44:55"
dumpcap 不支持 tshark 的显示过滤器(-Y)00:11:22:33:44:5500-11-22-33-44-55dumpcap -D
查看sudo dumpcap -i eth0 \
-f "ether host 00:11:22:33:44:55" \
-w /tmp/mac_capture.pcap
如果你有 VLAN / 802.1Q / 无线 MAC 场景,或者想按 MAC + IP 过滤,也可以告诉我。