dumpcap 是 Wireshark 套件中的一个命令行工具,用于捕获网络数据包。以下是一些常用的 dumpcap 命令行参数:
-i <interface>: 指定要捕获数据包的网络接口。-w <file>: 将捕获的数据包写入指定的文件中。-r <file>: 从指定的文件中读取数据包进行显示。-f "<expression>": 使用 BPF (Berkeley Packet Filter) 表达式来过滤捕获的数据包。-F <file>: 从文件中读取 BPF 过滤表达式。-G <seconds>: 设置捕获的时间间隔(秒),默认是 10 秒。-C <size>: 当文件大小达到指定值时,自动创建新的捕获文件。-W <files>: 设置最大保存的捕获文件数量。-n: 不解析主机名和端口名,直接显示 IP 地址和端口号。-N: 不解析协议名称,直接显示协议号。-q: 安静模式,减少输出信息。-v: 详细模式,增加输出信息。-vv: 更详细的模式。-vvv: 最详细的模式。-K: 在捕获过程中实时显示统计信息。-l: 在捕获文件中插入时间戳。-t <adornments>: 设置时间戳的格式。-T <format>: 设置输出文件的格式(如 pcap、csv 等)。-e: 显示链路层头部信息。-E <key>=<value>: 设置捕获文件的加密密钥。-I: 使用混杂模式捕获数据包。-s <snaplen>: 设置捕获的最大数据包长度(以字节为单位)。# 捕获 eth0 接口上的所有数据包,并保存到 capture.pcap 文件中
sudo dumpcap -i eth0 -w capture.pcap
# 使用 BPF 过滤器捕获特定 IP 地址的数据包
sudo dumpcap -i eth0 -w capture.pcap -f "host 192.168.1.1"
# 捕获并显示数据包,不解析主机名和端口名
sudo dumpcap -i eth0 -n -v
# 捕获并保存数据包,每 30 秒创建一个新的文件,最多保存 5 个文件
sudo dumpcap -i eth0 -G 30 -C 100M -W 5 -w capture_%d.pcap
请注意,某些参数可能需要 root 权限才能使用。你可以根据需要组合这些参数来实现特定的捕获需求。