我想在 Centos 7 中安装 snort 2.9.6
安装没问题,自检模式的结果也是正确的,但是当我运行此命令将 Snort 更改为嗅探器或 nids 模式时。我收到此错误消息:
”错误:无法解码数据链路类型 239”
我尝试再次重新编译,包括“ --enable-non-ether-decoders ”选项,步骤如下:
./configure --enable-non-ether-decoders --enable-sourcefire
make
make install
make clean
我仍然收到该错误
答案1
除非你的 Linux 使用 DLT_ 值做了一些没人应该做的事情,否则 239 是:
/*
* NetFilter LOG messages
* (payload of netlink NFNL_SUBSYS_ULOG/NFULNL_MSG_PACKET packets)
*
* Requested by Jakub Zawadzki <[email protected]>
*/
#define DLT_NFLOG 239
这是在 nflog 设备上捕获时得到的结果。
如果您指定了 nflog 设备(以“nflog”开头的设备),则 snort 2.9.6 可能无法处理该设备,您需要在常规网络设备上进行捕获。
如果你没有指定一个 nflog 设备,然后 snort 显式打开一个 nflog 设备(如果它无法处理它,则不应该这样做!)或者使用默认设备(不应该是 nflog 设备)。
如果你跑步会发生什么tcpdump -D
?如果它报告的第一个设备是 nflog 设备,则它(和 snort)没有以足够的权限运行来打开普通设备,但可以打开 nflog 设备,或者存在将 nflog 设备置于顶部的其他问题。