可以解决要感谢一位拥有7年码龄的程序员,他目前从事IPS二次开发工做。程序员
这个问题在百度上几乎找不到答案,解决方法见:https://www.reddit.com/r/snort/comments/jnu1s5/probles_while_running_snort_c/tcp
可能由于某些缘由(墙)连接没法打开,那么这里有这篇帖子的完整截图google
为了更人性化,我将它翻译过来:lua
一位热心网友marcseid遇到了这个问题,在导入规则前、后分别检查配置文件,得出如下处理结果:spa
编辑snort.lua找到翻译
{ when = { proto = 'tcp', ports = '2123 2152 3386' }, use = { type = 'gtp' } },
它在这里:3d
你能够在配置文件里搜索gtp方便查找它code
而后将它修改成server
{ when = { proto = 'tcp', ports = '2123 2152 3386' }, use = { type = 'gtp_inspect' } },
再找到blog
ips =
它在这里:
在 ips = { 的后面,rules = [[ 的前面;添加一行
variables = default_variables,
再修改snort_defaults.lua
在
--------------------------------------------------------------------------- -- default ftp server ---------------------------------------------------------------------------
前面添加:
--------------------------------------------------------------------------- -- default variables --------------------------------------------------------------------------- default_variables = { nets = { HOME_NET = HOME_NET, EXTERNAL_NET = EXTERNAL_NET, DNS_SERVERS = DNS_SERVERS, FTP_SERVERS = FTP_SERVERS, HTTP_SERVERS = HTTP_SERVERS, SIP_SERVERS = SIP_SERVERS, SMTP_SERVERS = SMTP_SERVERS, SQL_SERVERS = SQL_SERVERS, SSH_SERVERS = SSH_SERVERS, TELNET_SERVERS = TELNET_SERVERS, }, paths = { RULE_PATH = RULE_PATH, BUILTIN_RULE_PATH = BUILTIN_RULE_PATH, PLUGIN_RULE_PATH = PLUGIN_RULE_PATH, WHITE_LIST_PATH = WHITE_LIST_PATH, BLACK_LIST_PATH = BLACK_LIST_PATH, }, ports = { FTP_PORTS = FTP_PORTS, HTTP_PORTS = HTTP_PORTS, MAIL_PORTS = MAIL_PORTS, ORACLE_PORTS = ORACLE_PORTS, SIP_PORTS = SIP_PORTS, SSH_PORTS = SSH_PORTS, FILE_DATA_PORTS = FILE_DATA_PORTS, } }
完成。
先说说为何原做者是在反复检查导入规则前、后的配置文件得出结论的吧,由于刚才添加和修改的这些,在导入前都是存在且正常的,导入以后才发生了改变,并产生异常。
(除了“variables = default_variables,”由于配置文件语法的缘由须要添加逗号)
我也这样检查过配置文件,但因为不仔细也看不太懂致使没及时发现这个问题;其次善用google、多阅读英文文章(毕竟翻译软件有些出入);某些技术文章国内很匮乏。