Linux dumpcap支持的过滤器类型及用法
dumpcap是Wireshark套件中的命令行数据包捕获工具,其过滤器功能主要基于BPF(Berkeley Packet Filter)语法,用于实时筛选或保存符合条件的网络流量。以下是具体支持的过滤器类型及示例:
BPF是dumpcap的默认过滤机制,通过简洁的语法实现对数据包的实时过滤,支持按协议、端口、IP地址、接口等条件筛选。BPF表达式可直接通过-f或--filter选项传递给dumpcap。
tcpdumpcap -i eth0 -w tcp_all.pcap -f "tcp"udpdumpcap -i eth0 -w udp_all.pcap -f "udp"icmpdumpcap -i eth0 -w icmp_all.pcap -f "icmp"port 80dumpcap -i eth0 -w port80.pcap -f "port 80"src port 80dumpcap -i eth0 -w src_port80.pcap -f "src port 80"dst port 443dumpcap -i eth0 -w dst_port443.pcap -f "dst port 443"port 80 or port 443dumpcap -i eth0 -w multi_port.pcap -f "port 80 or port 443"host 192.168.1.100dumpcap -i eth0 -w host192.pcap -f "host 192.168.1.100"src host 192.168.1.1dumpcap -i eth0 -w src_host.pcap -f "src host 192.168.1.1"dst host 192.168.1.1dumpcap -i eth0 -w dst_host.pcap -f "dst host 192.168.1.1"net 192.168.1.0/24dumpcap -i eth0 -w net192.pcap -f "net 192.168.1.0/24"通过and(与)、or(或)、not(非)组合多个条件,实现更精准的过滤:
tcp and src host 192.168.1.1 and port 80dumpcap -i eth0 -w tcp_src192_port80.pcap -f "tcp and src host 192.168.1.1 and port 80"tcp port 80 or tcp port 443dumpcap -i eth0 -w http_https.pcap -f "tcp port 80 or tcp port 443"可将常用BPF表达式保存到文件(如filter.txt),通过-F或--filters-file选项加载:
filter.txt文件,内容为:tcp port 80 and host 192.168.1.100dumpcap -i eth0 -w filtered.pcap -F filter.txtdumpcap本身不支持显示过滤器(用于捕获后筛选),但可将捕获的流量保存为.pcap文件,再用Wireshark的显示过滤器(如ip.addr == 192.168.1.1)进行分析。不过,部分高级用法可通过-Y选项实现类似效果(需注意:-Y是Wireshark的显示过滤器语法,dumpcap的-Y选项支持有限,建议优先使用BPF过滤)。
sudo运行。tcp、port)需小写,IP地址、端口等参数需正确书写。以上是dumpcap支持的主要过滤器类型及用法,覆盖了常见的网络流量捕获场景。通过灵活组合BPF语法,可实现精准的流量筛选需求。