在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
來運行上述命令。