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 权限才能使用。你可以根据需要组合这些参数来实现特定的捕获需求。