在 Debian 上使用 dumpcap(Wireshark 的抓包后端)时,如果出现问题,可以从下面几个方面来“查错 / 排障”。
sudo dumpcap -i eth0
如果有错,dumpcap 通常会直接打印到终端,例如:
no permissioninterface not foundcouldn't open capturedumpcap 需要访问网络接口:
sudo dumpcap -i eth0
或给 dumpcap 授予 capability(推荐):
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
检查:
getcap /usr/bin/dumpcap
groups
如果没有 wireshark:
sudo usermod -aG wireshark $USER
重新登录生效。
dumpcap -D
或
ip link
确认接口名是否正确(如 eth0, ens33, wlan0)
ip link show eth0
若是 DOWN:
sudo ip link set eth0 up
sudo dumpcap -i eth0 -f "tcp" -v
export WIRESHARK_LOG_LEVEL=debug
sudo dumpcap -i eth0
sudo dumpcap -i eth0 -w /tmp/test.pcap
检查:
df -h
lsmod | grep af_packet
Debian 一般默认支持。
--privileged 或对应 capabilities| 现象 | 原因 |
|---|---|
no permission |
权限不足 |
interface not found |
接口名错 |
can't open capture |
接口 down / 被占用 |
| 抓不到包 | 过滤规则错 / 没流量 |
| 启动即退出 | 参数错误 |
sudo dumpcap -i any -w /tmp/test.pcap -c 100
抓 100 个包后停止,用来验证是否正常工作。
如果你愿意,可以把 具体报错信息 或 使用场景(物理机 / 虚拟机 / 容器) 发出来,我可以帮你精确分析。