dumpcap 是 Wireshark 套件中的一个命令行工具,用于捕获网络数据包。在 Ubuntu 上使用 dumpcap 进行实时捕获的步骤如下:
安装 Wireshark 和 dumpcap:
如果你还没有安装 Wireshark,可以通过以下命令来安装它以及 dumpcap:
sudo apt update
sudo apt install wireshark
安装 Wireshark 后,dumpcap 也会自动安装。
设置权限:
默认情况下,dumpcap 可能需要 root 权限才能捕获数据包。你可以使用 sudo 来运行 dumpcap,或者修改 dumpcap 的权限,使其可以被普通用户使用。
使用 sudo 运行 dumpcap:
sudo dumpcap -i eth0 -w output.pcap
替换 eth0 为你想要捕获数据包的网络接口。
修改权限(不推荐,因为这可能会带来安全风险):
sudo setcap 'cap_net_raw,cap_net_admin=eip' /usr/bin/dumpcap
这样设置后,普通用户也可以运行 dumpcap 而不需要 sudo。
开始捕获:
使用 dumpcap 命令捕获数据包。以下是一些常用的选项:
-i <interface>:指定要捕获数据包的网络接口。-w <file>:指定输出文件,用于保存捕获的数据包。-b <snaplen>:设置捕获数据包的最大长度(以字节为单位)。-B <buffers>:设置缓冲区数量。-c <count>:设置捕获数据包的最大数量。-G <seconds>:设置轮转文件的时间间隔(以秒为单位)。例如,要捕获 eth0 接口上的前 100 个数据包并保存到 output.pcap 文件中,可以使用以下命令:
sudo dumpcap -i eth0 -w output.pcap -c 100
实时查看捕获的数据包:
如果你想要实时查看捕获的数据包,可以使用 wireshark 图形界面工具,或者在命令行中使用 -q -z conv,tcp 选项来实时显示 TCP 流量:
sudo dumpcap -i eth0 -w output.pcap -q -z conv,tcp
这将实时显示 TCP 流量的摘要信息。
请注意,捕获网络数据包可能会涉及到隐私和安全问题,确保你有合法的权限来捕获和分析这些数据。