dumpcap
是一个用于捕获网络流量的命令行工具,它是 Wireshark 套件的一部分。在 Debian 系统中,你可以使用 dumpcap
来捕获和分析经过网络接口的数据包。以下是一些常用的 dumpcap
命令行参数及其详解:
基本参数
-
-i, –interface=
- 指定要捕获数据包的网络接口。
- 例如:
-i eth0
-
-w, –file=
- 将捕获的数据包写入指定的文件。
- 例如:
-w capture.pcap
-
-C, –files-per-dump=
- 指定每个捕获文件的最大大小(以 MB 为单位)。
- 例如:
-C 100
表示每个文件最大为 100MB。
-
-G, –seconds-per-dump=
- 指定每个捕获文件的持续时间(以秒为单位)。
- 例如:
-G 3600
表示每个文件持续 1 小时。
-
-a, –snaplen=
- 设置捕获数据包的最大长度(以字节为单位)。
- 例如:
-a 65535
表示捕获整个数据包。
-
-b, –buffer-size=
- 设置缓冲区大小(以字节为单位),用于存储捕获的数据包。
- 例如:
-b 262144
表示缓冲区大小为 256KB。
-
-e, –append
- 将捕获的数据包追加到现有文件中,而不是覆盖。
- 例如:
-e capture.pcap
-
-q, –quiet
- 减少输出信息,使
dumpcap
更安静。
- 减少输出信息,使
高级参数
-
-n, –no-promisc
- 不使用混杂模式,只捕获目的地址为本机的数据包。
-
-N, –no-ssl-keylog
- 不记录 SSL/TLS 密钥日志。
-
-P, –print-to-stdout
- 将捕获的数据包直接打印到标准输出(stdout)。
-
-r, –read-from-file=
- 从指定的文件中读取捕获的数据包。
-
-s, –stop
- 在捕获到指定数量的数据包后停止。
- 例如:
-s 1000
表示捕获 1000 个数据包后停止。
-
-T, –fields=
- 指定要显示的字段列表。
- 例如:
-T fields -e frame.number -e ip.src -e ip.dst
-
-V, –version
- 显示
dumpcap
的版本信息。
- 显示
-
-h, –help
- 显示帮助信息。
示例命令
以下是一些常用的 dumpcap
命令示例:
-
捕获所有接口上的数据包并保存到
capture.pcap
文件中:sudo dumpcap -i any -w capture.pcap
-
捕获指定接口
eth0
上的数据包,每个文件最大 100MB,持续 1 小时,并保存到capture_%Y%m%d_%H%M%S.pcap
文件中:sudo dumpcap -i eth0 -C 100 -G 3600 -w capture_%Y%m%d_%H%M%S.pcap
-
捕获指定接口
eth0
上的前 1000 个数据包并打印到标准输出:sudo dumpcap -i eth0 -s 1000 -T fields -e frame.number -e ip.src -e ip.dst -q
通过这些参数,你可以灵活地控制 dumpcap
的行为,以满足不同的捕获需求。