可以的,Debian 上的 dumpcap 支持过滤,但需要注意它只支持抓包时的捕获过滤(capture filter),不支持显示过滤(display filter)。
-f 参数http.request)tshark 或 Wiresharksudo apt update
sudo apt install wireshark-common
安装后
dumpcap通常在/usr/bin/dumpcap
sudo dumpcap -i eth0 -f "host 192.168.1.10" -w test.pcap
sudo dumpcap -i eth0 -f "tcp port 80" -w test.pcap
sudo dumpcap -i eth0 -f "net 192.168.1.0/24" -w test.pcap
sudo dumpcap -i eth0 -f "not host 192.168.1.1" -w test.pcap
| 需求 | 过滤表达式 |
|---|---|
| 指定 IP | host 1.1.1.1 |
| 指定端口 | port 443 |
| TCP 协议 | tcp |
| UDP 协议 | udp |
| 源 IP | src host 1.1.1.1 |
| 目的端口 | dst port 22 |
| 多条件 | tcp and port 80 |
| 排除 | not arp |
如果你需要 显示过滤,推荐组合使用:
sudo dumpcap -i eth0 -w capture.pcap
wireshark capture.pcap
sudo tshark -i eth0 -Y "http.request" -w http.pcap
-Y是显示过滤(Wireshark 语法)
如果提示权限不足:
sudo dumpcap -i eth0
或把用户加入 wireshark 组:
sudo usermod -aG wireshark $USER
newgrp wireshark
✅ Debian 的 dumpcap 可以过滤
✅ 只支持捕获过滤(BPF)
❌ 不支持 Wireshark 显示过滤
✅ 复杂过滤建议用 tshark 或 Wireshark
如果你有具体场景(比如:只抓 HTTPS、只抓某个 VLAN、抓 SIP/RTP),可以告诉我,我帮你写精确过滤规则。