在 Debian 系统上配置和使用 dumpcap(Wireshark 的命令行抓包工具),通常涉及 安装、权限配置、抓包选项 等几个方面。下面按常见使用场景一步步说明。
dumpcap 属于 wireshark-common 包:
sudo apt update
sudo apt install wireshark-common
安装完成后,可执行文件一般在:
/usr/bin/dumpcap
检查版本:
dumpcap --version
默认情况下,只有 root 才能抓包。推荐做法是使用 dumpcap 的 capabilities,而不是用 sudo。
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
验证:
getcap /usr/bin/dumpcap
输出应类似:
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
然后 普通用户即可直接抓包:
dumpcap -i eth0
sudo usermod -aG wireshark $USER
然后 重新登录或重启。
检查:
groups
如果看到 wireshark,说明成功。
⚠️ 某些 Debian 版本中,这种方式不如
setcap稳定。
dumpcap -D
输出示例:
1. eth0
2. wlan0
3. lo
dumpcap -i eth0 -w /tmp/test.pcap
常用参数说明:
| 参数 | 说明 |
|---|---|
-i |
指定网卡 |
-w |
保存文件 |
-c |
抓包数量 |
-s |
快照长度 |
-b |
环形缓冲区 |
-f |
抓包过滤(BPF) |
dumpcap -i eth0 -s 96 -w /tmp/test.pcap
-s 96表示只抓前 96 字节,减少磁盘占用。
dumpcap -i eth0 -c 1000 -w /tmp/test.pcap
dumpcap -i eth0 -f "tcp port 80" -w http.pcap
非常适合长时间抓包:
dumpcap -i eth0 \
-w /var/log/pcap/trace.pcap \
-b filesize:10000 \
-b files:50
含义:
dumpcap 抓包 → .pcap 文件 → tshark / wireshark 分析
Couldn't open device: Permission denied
✅ 解决:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
sudo apt install wireshark-common
downdumpcap \
-i eth0 \
-s 96 \
-c 100000 \
-f "not port 22" \
-w /tmp/capture.pcap
如果你有 具体需求(比如:
可以告诉我,我可以给你定制配置方案。