在Linux下使用dumpcap时,可以使用BPF(Berkeley Packet Filter)语法来设置过滤规则。这些规则允许你捕获特定类型的网络流量,从而减少捕获的数据量并提高分析效率。以下是一些常用的dumpcap过滤规则示例:
按IP地址过滤
dumpcap -i eth0 src host 192.168.1.100
dumpcap -i eth0 dst host 192.168.1.100
dumpcap -i eth0 host 192.168.1.100 and host 192.168.1.200
按端口过滤
dumpcap -i eth0 port 80
dumpcap -i eth0 src port 80 and dst port 80
按协议过滤
dumpcap -i eth0 tcp
dumpcap -i eth0 udp
dumpcap -i eth0 icmp
组合过滤规则
dumpcap -i eth0 src host 192.168.1.100 and tcp port 80
dumpcap -i eth0 host 192.168.1.100 and host 192.168.1.200 and tcp
捕获特定类型的数据包
dumpcap -i eth0 tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]>>4)<<2)) != 0)
dumpcap -i eth0 udp port 53
捕获特定长度的数据包
dumpcap -i eth0 len > 1000
捕获特定时间范围内的数据包
dumpcap -i eth0 -w output.pcap -G 3600 -W bysec -C 1000 -c 10000 -q "time >= 09:00:00 and time <= 17:00:00"
假设你想捕获来自IP地址192.168.1.100且目标端口为80的TCP流量,并将捕获的数据包保存到文件output.pcap中,可以使用以下命令:
dumpcap -i eth0 src host 192.168.1.100 and tcp port 80 -w output.pcap
通过这些过滤规则,你可以灵活地捕获所需的网络流量,从而更有效地进行网络分析和故障排除。