在 Debian 下 dumpcap 抓包失败,常见原因和排查思路如下(按出现频率从高到低):
dumpcap 需要访问网络接口,普通用户默认没有权限。
dumpcap: The capture session could not be initiated on interface ...Permission denied推荐方式(Debian 官方做法):
sudo dpkg-reconfigure wireshark-common
# 选择 "Yes",允许非 root 用户抓包
sudo usermod -aG wireshark $USER
然后重新登录或:
newgrp wireshark
临时方式:
sudo dumpcap -i eth0
dumpcap -D
确认接口名(如 eth0, ens33, wlan0)。
ip link show
若接口是 DOWN:
sudo ip link set eth0 up
解决:
--network=host检查:
getcap /usr/bin/dumpcap
正常应有:
/usr/bin/dumpcap = cap_net_raw,cap_net_admin+eip
若没有:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
无线网卡、USB 网卡可能不支持混杂模式。
测试:
sudo dumpcap -i wlan0
失败可尝试有线网卡。
Debian 默认用 AppArmor:
sudo aa-status | grep dumpcap
可临时测试:
sudo aa-complain /usr/bin/dumpcap
如果指定输出文件:
dumpcap -i eth0 -w /tmp/test.pcap
确保目录可写。
sudo dumpcap -D
sudo dumpcap -i eth0 -w /tmp/test.pcap
若 sudo 能抓,说明是权限问题。
如果你能贴出具体报错信息(最好带 -D 输出),我可以更精准判断。