dumpcap
是 Wireshark 套件中的一个命令行工具,用于捕获网络上的数据包。虽然 dumpcap
本身没有像 Wireshark 那样的图形界面来设置复杂的过滤器,但它支持使用 BPF(Berkeley Packet Filter)语法进行数据包捕获过滤。
要在 dumpcap
中使用数据包过滤,你需要在启动 dumpcap
命令时添加 -f
或 --filter
参数,后跟你的 BPF 过滤表达式。以下是一些基本步骤和示例:
打开命令行界面: 打开你的命令行工具(如终端、命令提示符或 PowerShell)。
运行 dumpcap 并添加过滤器:
使用以下格式的命令来启动 dumpcap
并应用过滤器:
dumpcap -i <interface> -w <output_file> -f "<filter_expression>"
其中 <interface>
是你想捕获数据包的网络接口(例如 eth0
、wlan0
等),<output_file>
是你想要保存捕获数据包的文件名(通常是 .pcap
或 .pcapng
格式),<filter_expression>
是你的 BPF 过滤表达式。
BPF 过滤表达式示例:
tcp.port == 80
ip.addr == 192.168.1.100
ip.addr == 192.168.1.100 and tcp.port == 80
udp
ip.src == 192.168.1.100
ip.dst == 192.168.1.100
开始捕获:
输入命令后,按下 Enter 键开始捕获数据包。dumpcap
将会根据你提供的过滤器表达式捕获数据包,并将它们保存到指定的输出文件中。
停止捕获:
要停止捕获,你可以使用 Ctrl+C 组合键,或者在另一个命令行窗口中发送 SIGINT 信号给 dumpcap
进程。
请注意,捕获网络数据包可能需要管理员权限,因此在某些操作系统上,你可能需要使用 sudo
(在 Linux 或 macOS 上)或以管理员身份运行命令提示符(在 Windows 上)来执行 dumpcap
。
此外,确保你的网络接口处于混杂模式,这样它才能捕获所有经过的数据包,而不仅仅是发给它的数据包。在某些系统上,这可能需要额外的配置或权限。