在Ubuntu系统中,dumpcap
是Wireshark套件中的一个命令行工具,用于捕获网络流量。要设置dumpcap
的过滤规则,您可以使用-f
或--filter
选项来指定一个Berkeley Packet Filter (BPF)表达式。这个表达式定义了哪些数据包应该被捕获。
sudo dumpcap -i eth0 -w output.pcap -f "tcp"
sudo dumpcap -i eth0 -w output.pcap -f "host 192.168.1.100"
sudo dumpcap -i eth0 -w capture.pcap -F "port 80"
dumpcap -i eth0 -s 0 -w output.pcap -Y "(tcp port 80 and tcp.flags.syn 1 and tcp.flags.ack 0) or (tcp port 80 and tcp.flags.syn 0 and tcp.flags.ack 1)"
此过滤器表示:捕获eth0上的数据包,仅当它们是TCP协议且端口为80,并且具有SYN和ACK标志时(即HTTP请求),或者当它们是TCP协议且端口为80,并具有SYN标志和没有ACK标志时(即HTTP响应)。
如果您经常使用相同的过滤器,可以将其保存在一个文件中,然后在运行dumpcap
时使用-F
或--filters-file
选项指定该文件。
请注意,使用dumpcap
通常需要管理员权限,因为它需要访问网络接口。因此,您可能需要使用sudo
来运行上述命令。