温馨提示×

debian dumpcap怎么用滤镜

小樊
43
2026-09-27 22:08:30
栏目: 智能运维

在 Debian 下,dumpcap 是 Wireshark 套件里的命令行抓包工具。它本身不支持像 tshark / tcpdump 那样直接用“显示过滤语法”当捕获过滤,而是使用 BPF(Berkeley Packet Filter)捕获过滤器。

下面按常见用法说明。


一、安装 dumpcap

sudo apt update
sudo apt install wireshark-common

通常会自动安装 dumpcap。


二、dumpcap 的“滤镜”是什么

dumpcap 使用的是 capture filter(捕获过滤器),语法和 tcpdump 一样:

  • 基于 IP / 端口 / 协议
  • 不支持 Wireshark 的显示过滤语法(如 http.request)

三、基本用法

1️⃣ 指定网卡抓包

先查看网卡:

dumpcap -D

或

ip link

抓包示例(eth0):

sudo dumpcap -i eth0 -w capture.pcap

四、使用捕获过滤器(重点)

语法

sudo dumpcap -i <网卡> -f "<BPF 过滤规则>" -w file.pcap

常见过滤示例

✅ 只抓某个 IP

sudo dumpcap -i eth0 -f "host 192.168.1.100" -w cap.pcap

✅ 只抓某个端口(如 80)

sudo dumpcap -i eth0 -f "tcp port 80" -w cap.pcap

✅ 只抓 TCP

sudo dumpcap -i eth0 -f "tcp" -w cap.pcap

✅ 只抓 UDP

sudo dumpcap -i eth0 -f "udp" -w cap.pcap

✅ 源 IP 过滤

sudo dumpcap -i eth0 -f "src host 10.0.0.5" -w cap.pcap

✅ 目标端口 + IP

sudo dumpcap -i eth0 -f "host 192.168.1.1 and tcp port 443" -w cap.pcap

✅ 排除某个 IP

sudo dumpcap -i eth0 -f "not host 192.168.1.50" -w cap.pcap

五、限制抓包大小 / 数量

限制文件大小(10MB)

sudo dumpcap -i eth0 -f "tcp" -w cap.pcap -b filesize:10000

限制抓包数量

sudo dumpcap -i eth0 -c 1000 -w cap.pcap

六、和 tshark 的区别(很重要)

工具 捕获过滤 显示过滤
dumpcap ✅ BPF ❌
tcpdump ✅ BPF ❌
tshark ✅ BPF ✅ Wireshark 语法

如果你需要 复杂过滤(如 HTTP、DNS 内容):

tshark -i eth0 -Y "http.request" -w cap.pcap

七、权限问题(Debian)

如果提示没有权限:

sudo dumpcap ...

或把用户加入 wireshark 组:

sudo usermod -aG wireshark $USER

然后重新登录。


如果你有具体场景(比如“只抓某个服务的 TLS 握手”或“只抓失败连接”),可以告诉我,我可以直接给你 dumpcap 命令。

0 踩