dumpcap
是 Wireshark 套件中的一个命令行工具,用于捕获网络数据包。以下是一些常用的 dumpcap
参数及其设置方法:
捕获接口
dumpcap -i eth0
这将捕获 eth0
接口上的所有数据包。
输出文件
dumpcap -w capture.pcap
将捕获的数据包保存到 capture.pcap
文件中。
限制捕获的数据包数量
dumpcap -c 1000 -w capture.pcap
只捕获前 1000 个数据包并保存到 capture.pcap
。
设置捕获过滤器
dumpcap -i eth0 -w capture.pcap 'tcp port 80'
只捕获通过 eth0
接口的 TCP 端口 80 的数据包。
设置快照长度
dumpcap -i eth0 -s 65535 -w capture.pcap
设置最大捕获长度为 65535 字节。
设置时间戳精度
dumpcap -i eth0 -t ad -w capture.pcap
使用绝对时间戳(从纪元开始的时间)。
使用 BPF 过滤器
dumpcap -i eth0 -f "tcp port 80 and host example.com" -w capture.pcap
使用更复杂的 BPF 过滤器来捕获特定条件下的数据包。
多接口捕获
dumpcap -i eth0,eth1 -w capture.pcap
同时捕获 eth0
和 eth1
接口上的数据包。
设置缓冲区大小
dumpcap -i eth0 -B 1048576 -w capture.pcap
设置缓冲区大小为 1MB。
使用混杂模式
dumpcap -i eth0 -p -w capture.pcap
启用混杂模式,允许捕获所有经过接口的数据包,而不仅仅是发给该接口的数据包。
设置输出文件格式
dumpcap -i eth0 -w capture.pcapng
将捕获的数据包保存为 pcapng 格式。
以下是一个综合示例,展示了如何使用多个参数进行数据包捕获:
dumpcap -i eth0 -f "tcp port 80 and host example.com" -s 65535 -t ad -B 1048576 -p -w capture.pcapng
这个命令将捕获 eth0
接口上通过 TCP 端口 80 并且目标或源地址为 example.com
的数据包,最大长度为 65535 字节,使用绝对时间戳,缓冲区大小为 1MB,启用混杂模式,并将结果保存为 pcapng 格式。
-w
参数时,确保目标文件路径是可写的。通过这些参数,你可以灵活地配置 dumpcap
以满足不同的捕获需求。