dumpcap
是 Wireshark 套件中的一个命令行工具,用于捕获网络数据包。以下是一些常用的 dumpcap
参数:
基本参数
-
-i, –interface=
- 指定要捕获数据包的网络接口。
-
-w, –file=
- 将捕获的数据包写入指定的文件中。
-
-C, –maxsize=
- 设置每个捕获文件的最大大小(以 MB 为单位)。
-
-G, –seconds=
- 设置每个捕获文件的持续时间(以秒为单位)。
-
-W, –write-format=
- 指定捕获文件的写入格式(如 pcapng、pcap)。
-
-q, –quiet
- 减少输出信息,使运行更安静。
-
-v, –verbose
- 增加输出信息,显示更多调试细节。
-
-n, –no-syslog
- 不将日志发送到 syslog。
-
-t, –timestamp
- 在输出中包含时间戳。
-
-tt, –timestamp-type=
- 设置时间戳的类型(如 abs、rel、dlt)。
过滤参数
-
-f, –filter=
- 使用 BPF(Berkeley Packet Filter)语法指定捕获过滤器。
-
-F, –field-format=
- 指定字段的显示格式。
高级参数
-
-B, –buffer-size=
- 设置缓冲区大小(以 KB 为单位)。
-
-c, –count=
- 捕获指定数量的数据包后停止。
-
-e, –extend
- 显示链路层头部信息。
-
-E, –extract-as=
- 将特定字段提取为单独的文件。
-
-G, –gap-interval=
- 设置捕获间隔时间(以秒为单位)。
-
-I, –immediate-mode
- 立即开始捕获,不等待接口准备好。
-
-k, –keep-alive
- 保持连接活跃,防止因长时间无活动而断开。
-
-L, –list-interfaces
- 列出所有可用的网络接口。
-
-M, –mtu=
- 设置捕获接口的最大传输单元(MTU)。
-
-N, –no-arp
- 不捕获 ARP 请求和响应。
-
-O, –omit-duplicate-cksummed-packets
- 省略重复的校验和数据包。
-
-P, –print-packet
- 打印捕获的数据包到标准输出。
示例命令
sudo dumpcap -i eth0 -w capture.pcapng -C 100 -G 3600 -f "port 80"
这个命令会在 eth0
接口上捕获流量,将数据包写入 capture.pcapng
文件,每个文件最大 100 MB,每 3600 秒创建一个新文件,并且只捕获 HTTP 流量(端口 80)。
注意事项
- 使用
dumpcap
通常需要 root 权限,因为它需要访问底层网络接口。 - 确保你有足够的磁盘空间来存储捕获的数据包文件。
- 过滤器表达式需要正确编写,否则可能导致捕获不到预期的数据包。
更多详细信息和参数说明,可以参考 dumpcap
的官方文档或使用 man dumpcap
查看帮助信息。