我在 freebsd 中使用 tcpdump,出现以下错误:
$ /usr/sbin/tcpdump -i bge0
tcpdump: (cannot open device) /dev/bpf: No such file or directory
一些谷歌搜索表明 presudo berkley packet fillter 设备不知怎么丢失了。那么我该如何解决呢?
答案1
没有bpf
设备节点可能因为有不存在 bpf 设备,这是一个您可能缺少的内核构建时配置选项。
您需要在您的内核配置,重建,然后重新启动......
您可以bpf
通过查看是否设置了任何内核状态参数来检查是否可用:
sysctl net.bpf
在不久前的某个时候,FreeBSD 从枚举/dev/bpf0
/dev/bfp1
等设备更改为单个“可克隆”/dev/bpf
设备。可能可能是您的tcpdump
或libpcap
对于您的内核来说太旧了,反之亦然,并且它没有寻找正确的设备文件。
答案2
如果你已经编译了一个自定义内核,那么可能是
设备 bpf你的内核配置中缺少