在 Debian 上 dumpcap 启动报错比较常见,原因通常和权限、依赖、接口、配置有关。下面按最常见情况给你梳理一下,你可以对照排查。
dumpcap 需要抓包权限,普通用户直接运行通常会报错,例如:
Couldn't run /usr/bin/dumpcap in child process: Permission denied
或
capturing on 'eth0'
Could not open network device eth0: Permission denied
方法 A(推荐):加入 wireshark 组
sudo apt install wireshark
sudo usermod -aG wireshark $USER
然后 注销重新登录
方法 B:用 setcap 给 dumpcap 权限
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
方法 C:直接用 root(不推荐)
sudo dumpcap
例如:
dumpcap -i eth0
但 Debian 现在常用:
ens33enp0s3wlp2s0ip link
或
dumpcap -D
某些最小化系统没装:
which dumpcap
如果没有:
sudo apt update
sudo apt install dumpcap
(通常在 tshark / wireshark-common 包里)
报错可能像:
Permission denied (apparmor)
sudo aa-status
可以临时测试:
sudo aa-complain /usr/bin/dumpcap
大流量抓包时:
Too many open files
解决:
ulimit -n 65535
或 systemd 服务中调整 LimitNOFILE
例如:
dumpcap -w /var/log/cap.pcap
但目录不可写。
✅ 确保:
ls -ld /path
touch /path/test
# 1. 看接口
dumpcap -D
# 2. 用 root 测试
sudo dumpcap -i any
# 3. 看详细错误
dumpcap -i any -f "tcp" -w test.pcap -V
你可以把完整报错信息贴出来,例如:
cat /etc/os-release)我可以直接告诉你具体是哪一条原因 + 对应修复命令。