dumpcap 是 Wireshark 用来抓包的底层工具,在 Debian 上常见的报错主要集中在权限不足、缺少依赖、内核参数限制等几类。下面按常见场景给你一套排查与解决方法。
couldn't run /usr/bin/dumpcap in child process: Permission denied
或
The capture session could not be initiated on interface ...
You don't have permission to capture on that device
普通用户没有访问 /dev/net/tun 或网络接口的权限。
Debian 默认有 wireshark 用户组:
sudo apt install wireshark
sudo usermod -aG wireshark $USER
然后注销并重新登录(或重启)。
验证:
groups
应该能看到 wireshark
sudo dumpcap
或
sudo chmod +r /dev/net/tun
dumpcap: command not found
sudo apt update
sudo apt install wireshark-common
dumpcap 在 wireshark-common 包中。
No interfaces found
或
No such device
ip link
确认网卡名称(如 eth0, ens33, wlan0)
指定接口测试:
dumpcap -i eth0
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
检查:
getcap /usr/bin/dumpcap
Out of memory
或丢包严重
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.rmem_default=26214400
永久生效:
echo "net.core.rmem_max=26214400" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
如果在 Docker / LXC:
docker run --cap-add=NET_RAW --cap-add=NET_ADMIN ...
dumpcap -D
dumpcap -i any -f "tcp port 80" -w test.pcap
如果仍报错,把完整报错信息贴出来即可,我可以精确判断。
如果你愿意,可以告诉我:
cat /etc/os-release)我可以直接给你对应命令。