Linux的dumpcap是Wireshark的命令行版本,专门用于网络数据包的捕获和保存。它具有以下高级功能:
多接口捕获:可以同时捕获多个接口上的数据包,只需为每个接口指定一个 -i
选项。
sudo dumpcap -i eth0 -i wlan0 -w output.pcap
时间戳:使用 -t
选项可以在输出文件中包含时间戳。
sudo dumpcap -i eth0 -w output.pcap -t ad
详细模式:使用 -v
或 -vv
选项可以启用详细模式,显示更多关于捕获过程的信息。
sudo dumpcap -i eth0 -v
流量回放:通过 -r
参数结合其他过滤条件,可以模拟回放历史流量,用于流量分析。
sudo dumpcap -r output.pcap
优化输出格式:
-n
:不将IP地址转换为域名,直接显示IP地址,加快处理速度。-nn
:不将协议和端口号转换为名称,加快处理速度。-N
:不打印主机的域名部分,如将 nic.ddn.mil
简化为 nic
。文件大小控制:使用 -C
参数与 -w
参数结合,在保存文件前检查文件大小,避免单个文件过大。
sudo dumpcap -i eth0 -w output.pcap -C 1000000 -C 10
结合其他参数使用:例如,-C 1 -W 3 -w abc
表示文件大小不超过1MB,最多创建3个文件,文件名依次为 abc
、abc1
、abc2
。
捕获特定类型的数据包:使用 -f
选项可以应用BPF(Berkeley Packet Filter)语法来过滤数据包。
sudo dumpcap -i eth0 -f "tcp port 80" -w output.pcap
实时显示捕获的数据包:使用 -l
选项可以在终端中实时显示捕获的数据包。
sudo dumpcap -i eth0 -l
多线程捕获:使用 -z
选项启用多线程捕获。
sudo dumpcap -i eth0 -z conv,tcp
远程捕获:使用 -r
选项读取一个pcap文件,或者使用 -k
和 -K
选项通过SSH进行远程捕获。
sudo dumpcap -i eth0 -w capture.pcap -k -K tcp
通过这些高级功能,dumpcap成为一个强大的网络流量捕获和分析工具,适用于网络故障排查、安全监控和取证分析等多种场景。