在 Debian 下,dumpcap 是 Wireshark 套件里的命令行抓包工具。它本身不支持像 tshark / tcpdump 那样直接用“显示过滤语法”当捕获过滤,而是使用 BPF(Berkeley Packet Filter)捕获过滤器。
下面按常见用法说明。
sudo apt update
sudo apt install wireshark-common
通常会自动安装 dumpcap。
dumpcap 使用的是 capture filter(捕获过滤器),语法和 tcpdump 一样:
http.request)先查看网卡:
dumpcap -D
或
ip link
抓包示例(eth0):
sudo dumpcap -i eth0 -w capture.pcap
sudo dumpcap -i <网卡> -f "<BPF 过滤规则>" -w file.pcap
sudo dumpcap -i eth0 -f "host 192.168.1.100" -w cap.pcap
sudo dumpcap -i eth0 -f "tcp port 80" -w cap.pcap
sudo dumpcap -i eth0 -f "tcp" -w cap.pcap
sudo dumpcap -i eth0 -f "udp" -w cap.pcap
sudo dumpcap -i eth0 -f "src host 10.0.0.5" -w cap.pcap
sudo dumpcap -i eth0 -f "host 192.168.1.1 and tcp port 443" -w cap.pcap
sudo dumpcap -i eth0 -f "not host 192.168.1.50" -w cap.pcap
sudo dumpcap -i eth0 -f "tcp" -w cap.pcap -b filesize:10000
sudo dumpcap -i eth0 -c 1000 -w cap.pcap
| 工具 | 捕获过滤 | 显示过滤 |
|---|---|---|
| dumpcap | ✅ BPF | ❌ |
| tcpdump | ✅ BPF | ❌ |
| tshark | ✅ BPF | ✅ Wireshark 语法 |
如果你需要 复杂过滤(如 HTTP、DNS 内容):
tshark -i eth0 -Y "http.request" -w cap.pcap
如果提示没有权限:
sudo dumpcap ...
或把用户加入 wireshark 组:
sudo usermod -aG wireshark $USER
然后重新登录。
如果你有具体场景(比如“只抓某个服务的 TLS 握手”或“只抓失败连接”),可以告诉我,我可以直接给你 dumpcap 命令。