dumpcap捕获特定协议的方法

作者:技术拾光

时间:2026-06-27

浏览:383

dumpcap是Wireshark命令行抓包工具,使用BPF过滤器语法捕获特定协议。通过-Y参数指定规则,如tcpport80抓HTTP、tcpport443抓HTTPS、udpport53抓DNS、ip.addr指定IP。需管理员权限,并确保网卡处于混杂模式。

文章目录

dumpcap 是 Wireshark 家族中一款轻量高效的命令行抓包工具,特别适用于自动化捕获或远程抓包场景。很多初学者常问:如何用 dumpcap 只抓取特定协议的数据包?核心在于过滤器表达式——BPF(伯克利包过滤)语法。下面直接介绍几个最常见的操作场景。

dumpcap捕获特定协议的方法

抓取 HTTP 流量的基础命令

想捕获 HTTP 流量?端口 80 是 HTTP 的默认入口,使用以下命令即可:

dumpcap -i eth0 -Y "tcp port 80" -w http_traffic.pcap

其中 -i eth0 指定监听的网卡,-Y "tcp port 80" 是 BPF 过滤规则(仅关注 TCP 端口 80 上的数据包),-w http_traffic.pcap 将结果保存到文件。

捕获 HTTPS 流量

HTTPS 流量原理相同,只需将端口改为 443:

dumpcap -i eth0 -Y "tcp port 443" -w https_traffic.pcap

捕获 DNS 查询流量

DNS 查询通常使用 UDP 端口 53,但大响应也可能使用 TCP。稳妥做法是将两个协议都加入过滤规则:

dumpcap -i eth0 -Y "udp port 53 or tcp port 53" -w dns_traffic.pcap

按特定 IP 地址过滤流量

如果想盯住某个 IP 的出入流量,可以使用以下命令:

dumpcap -i eth0 -Y "ip.addr == 192.168.1.100" -w traffic_from_ip.pcap

这里 ip.addr == 192.168.1.100 会自动匹配源地址和目的地址。

使用 BPF 过滤器的注意事项

使用 BPF 过滤器通常需要管理员权限(例如 Linux 上需使用 sudo),否则 dumpcap 可能无法正常打开网卡。此外,为确保网卡能捕获所有经过的数据包(而非仅本机流量),建议开启混杂模式。如果权限不足或未开启混杂模式,捕获结果可能不完整。此时可联系网络管理员协助,或改用 tcpdump 配合 sudo 来执行抓包。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章