在 Debian 系统里,dumpcap 是 Wireshark 套件中负责抓包的核心命令行工具,通常用于 高性能、低权限或自动化抓包。下面按常见使用场景给你一个实用说明。
sudo apt update
sudo apt install wireshark-common
安装完成后,dumpcap 一般在:
/usr/bin/dumpcap
dumpcap -D
示例输出:
1. eth0
2. wlan0
3. lo
sudo dumpcap -i eth0
默认只抓前 68 字节(旧行为),建议配合
-s使用。
sudo dumpcap -i eth0 -s 0
-s 0:不截断,抓完整包sudo dumpcap -i eth0 -w capture.pcap
sudo dumpcap -i eth0 -c 100 -w test.pcap
-c 100:只抓 100 个包sudo dumpcap -i eth0 -w capture.pcap -b filesize:10000
-b files:N 配合默认需要 root,但可以通过 capabilities 授权普通用户抓包:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
验证:
getcap /usr/bin/dumpcap
之后普通用户即可直接抓包:
dumpcap -i eth0 -w test.pcap
| 参数 | 说明 |
|---|---|
-i |
指定接口 |
-w |
保存文件 |
-s |
抓包长度(0=完整) |
-c |
抓包数量 |
-b |
循环文件 |
-f |
抓包过滤(BPF) |
-D |
列出接口 |
-v |
显示版本 |
dumpcap -i eth0 -f "tcp port 80" -w http.pcap
常见过滤:
host 192.168.1.1tcp port 443net 10.0.0.0/8udpwireshark capture.pcap
或命令行:
tshark -r capture.pcap
✅ 长时间后台抓包
✅ 服务器自动化抓包
✅ 配合 Wireshark 分析
✅ 性能比 tcpdump 更好(多线程)
如果你愿意,可以告诉我:
我可以给你更精确的命令。