dumpcap 是 Wireshark 套件中的一个命令行工具,用于捕获网络数据包。在 Ubuntu 上使用 dumpcap 进行网络故障排查时,你可以按照以下步骤操作:
安装 Wireshark 和 dumpcap:
如果你还没有安装 Wireshark,可以通过以下命令安装它,dumpcap 也会作为依赖项一起被安装。
sudo apt update
sudo apt install wireshark
获取 root 权限:
dumpcap 需要 root 权限来捕获数据包。你可以使用 sudo 来运行 dumpcap。
开始捕获数据包:
使用 dumpcap 的基本命令格式如下:
sudo dumpcap -i <interface> -w <output_file>
其中 <interface> 是你想捕获数据包的网络接口名称,例如 eth0 或 wlan0。<output_file> 是你想要保存捕获数据包的文件名,通常以 .pcap 或 .pcapng 格式保存。
例如,要捕获 eth0 接口上的所有数据包并保存到当前目录下的 capture.pcap 文件中,你可以运行:
sudo dumpcap -i eth0 -w capture.pcap
使用过滤器:
如果你只想捕获特定类型的数据包,可以使用 -f 选项指定一个过滤器表达式。
例如,要只捕获 HTTP 请求,可以使用:
sudo dumpcap -i eth0 -w capture.pcap -f "tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]>>4)<<2)) != 0)"
停止捕获:
要停止捕获,你可以按 Ctrl+C。
分析数据包:
捕获完成后,你可以使用 Wireshark 图形界面来分析 .pcap 文件,或者使用 tshark(Wireshark 的另一个命令行工具)来进一步分析。
保存捕获的数据包:
如果你想保存捕获的数据包以便以后分析,可以使用 -w 选项指定文件名。
读取捕获的数据包:
使用 dumpcap 读取已保存的 .pcap 文件,可以使用以下命令:
dumpcap -r <input_file>
其中 <input_file> 是你想要读取的 .pcap 文件的路径。
请注意,捕获网络数据包可能会涉及到隐私和安全问题,确保你有权限捕获目标网络上的数据包,并且遵守相关的法律法规。