在Ubuntu中,dumpcap 是 Wireshark 套件中的一个命令行工具,用于捕获网络数据包。以下是一些常用的 dumpcap 命令及其选项:
捕获数据包
sudo dumpcap -i <interface>
例如,捕获 eth0 接口上的数据包:
sudo dumpcap -i eth0
将捕获的数据包保存到文件
sudo dumpcap -i <interface> -w <filename>
例如,将捕获的数据包保存到 capture.pcap 文件:
sudo dumpcap -i eth0 -w capture.pcap
限制捕获的数据包数量
sudo dumpcap -i <interface> -c <count> -w <filename>
例如,捕获最多 1000 个数据包并保存到 capture.pcap 文件:
sudo dumpcap -i eth0 -c 1000 -w capture.pcap
设置捕获文件的最大大小
sudo dumpcap -i <interface> -C <size> -W <files> -w <filename>
例如,每个文件最大 10MB,最多保存 5 个文件,保存到 capture.pcap:
sudo dumpcap -i eth0 -C 10 -W 5 -w capture.pcap
设置捕获过滤器
sudo dumpcap -i <interface> -f "<filter>"
例如,只捕获 TCP 数据包:
sudo dumpcap -i eth0 -f "tcp"
设置时间戳精度
sudo dumpcap -i <interface> -t <format>
例如,使用微秒级时间戳:
sudo dumpcap -i eth0 -t ad
捕获特定协议的数据包
sudo dumpcap -i <interface> -Y "<protocol>"
例如,只捕获 HTTP 数据包:
sudo dumpcap -i eth0 -Y "http"
捕获特定源或目标 IP 的数据包
sudo dumpcap -i <interface> -s <snapshot_length> -w <filename> -f "host <ip>"
例如,捕获目标 IP 为 192.168.1.1 的数据包:
sudo dumpcap -i eth0 -s 65535 -w capture.pcap -f "host 192.168.1.1"
捕获特定端口的数据包
sudo dumpcap -i <interface> -f "port <port>"
例如,只捕获端口 80 的数据包:
sudo dumpcap -i eth0 -f "port 80"
以下是一个综合示例,捕获 eth0 接口上目标 IP 为 192.168.1.1 的 TCP 数据包,并保存到 capture.pcap 文件:
sudo dumpcap -i eth0 -f "tcp and host 192.168.1.1" -w capture.pcap
dumpcap 通常需要 root 权限来运行,因此大多数命令都需要使用 sudo。ifconfig 或 ip a 命令查看。通过这些命令和选项,你可以灵活地控制 dumpcap 的行为,以满足不同的捕获需求。