在 Debian 上用 dumpcap 抓包失败,常见原因和对应解决办法如下,按出现频率从高到低:
dumpcap 需要访问网络接口,普通用户默认不行。
Couldn't run /usr/bin/dumpcap in child processPermission deniedno permission to capture on that device方法一(推荐):加入 wireshark 组
sudo apt install wireshark
sudo usermod -aG wireshark $USER
然后 注销或重启 再试。
方法二:用 sudo
sudo dumpcap -i eth0
方法三:给 dumpcap 提权
sudo chmod +s /usr/bin/dumpcap
(不太安全,不推荐长期使用)
ip link
# 或
dumpcap -D
dumpcap -i eth0
# 或
dumpcap -i any
ip link show eth0
如果是 DOWN:
sudo ip link set eth0 up
这些环境 不支持 raw socket 抓包。
sudo dumpcap -i any
如果也失败,基本是环境限制。
sudo apt install libpcap0.8
Debian 默认用 AppArmor。
查看:
sudo aa-status
临时测试:
sudo aa-teardown
把错误贴出来更准确,例如:
dumpcap -i eth0 -w test.pcap
如果你愿意,把 完整报错信息 + dumpcap -D 输出 发出来,我可以直接帮你定位。