dumpcap
是 Wireshark 套件中的一个命令行工具,用于捕获网络流量。虽然 dumpcap
本身没有像 Wireshark GUI 那样的高级过滤功能,但它支持使用 BPF(Berkeley Packet Filter)语法进行基本的数据包过滤。
要在 dumpcap
中进行数据包过滤,你可以使用 -f
或 --filter
选项来指定 BPF 过滤表达式。以下是一些基本的步骤和示例:
打开终端或命令提示符:
运行 dumpcap 并指定过滤表达式:
dumpcap -i <interface> -w <output_file> -f "<filter_expression>"
<interface>
是你要捕获流量的网络接口名称(例如 eth0
或 wlan0
)。<output_file>
是你希望保存捕获数据包的文件名(例如 capture.pcap
)。<filter_expression>
是 BPF 过滤表达式。捕获特定 IP 地址的数据包:
dumpcap -i eth0 -w capture.pcap -f "host 192.168.1.1"
这个命令会捕获所有经过 eth0
接口并且目标地址或源地址为 192.168.1.1
的数据包。
捕获特定端口的数据包:
dumpcap -i eth0 -w capture.pcap -f "port 80"
这个命令会捕获所有经过 eth0
接口并且目标端口或源端口为 80 的数据包。
捕获特定协议的数据包:
dumpcap -i eth0 -w capture.pcap -f "tcp"
这个命令会捕获所有经过 eth0
接口的 TCP 数据包。
组合多个过滤条件:
dumpcap -i eth0 -w capture.pcap -f "host 192.168.1.1 and port 80"
这个命令会捕获所有经过 eth0
接口并且目标地址或源地址为 192.168.1.1
并且目标端口或源端口为 80 的数据包。
sudo
。dumpcap -f "help"
来查看所有可用的 BPF 过滤表达式和它们的描述。通过这些步骤和示例,你应该能够在 dumpcap
中有效地进行数据包过滤。