我已经使用标准端口在 FreeBSD-9.1(32 位)上安装了“Snort”:
pkg_add -r snort
配置并运行后:
snort -c /etc/snort/snort.conf -A full -u snort -g snort -i em1 -T
我收到此错误:
ERROR: /etc/snort/snort.conf(337) Unknown preprocessor: "ftp_telnet".
在互联网上搜索后,我发现的唯一情况是,如果我使用的版本snort.conf
与 snort 本身不同,则可能会发生这种情况,但这不是我的情况。我的 snort 版本是:
,,_ -*> Snort! <*-
o" )~ Version 2.9.3.1 IPv6 GRE (Build 40)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team
Copyright (C) 1998-2012 Sourcefire, Inc., et al.
Using libpcap version 1.3.0
Using PCRE version: 8.31 2012-07-06
Using ZLIB version: 1.2.7
我正在snortrules-snapshot-2931.tar.gz
使用snort.org。
我以前在 Linux 上安装和运行 snort 有一些经验,从未遇到过这样的错误,但我对 BSD-UNIX 还很陌生。
答案1
看起来“make install”没有在
/usr/local/lib/snort_dynamicpreprocessor
执行以下操作并查看是否能解决问题。
cd /usr/local/lib/snort_dynamicpreprocessor
ln -s libsf_ftptelnet_preproc.so.0.0 libsf_ftptelnet_preproc.so
ln -s libsf_dcerpc_preproc.so.0.0 libsf_dcerpc_preproc.so
ln -s libsf_smtp_preproc.so.0.0 libsf_smtp_preproc.so
ln -s libsf_dns_preproc.so.0.0 libsf_dns_preproc.so
ln -s libsf_ssh_preproc.so.0.0 libsf_ssh_preproc.so
答案2
很长时间没有人回答这个问题,我所有的尝试都未能解决它,这个问题的重要性现在对我来说已经过去了......但对于任何可能面临这个问题的人来说,我认为问题的原因是我从端口安装了 Snort......我还没有尝试过,但我最好的猜测是,如果我尝试从源代码安装它,这个问题就不会出现。
简而言之:尝试从源安装 Snort,而不是从端口安装。 以下是在 FreeBSD-9 上从源代码安装 Snort 的有用链接:
答案3
在 CentOS7 上我看到同样的错误,我发现这一行不正确,dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
正确的路径dynamicpreprocessor directory /usr/lib64/snort-2.9.8.3_dynamicpreprocessor/
是
# path to base preprocessor engine
dynamicengine /usr/local/lib64/snort-2.9.8.3_dynamicengine/libsf_engine.so