Snort内部工作机制与动态检测引擎解析
1. Snort初始化
Snort的启动过程包含三个主要阶段,分别是命令行参数解析、配置文件处理以及配置后的初始化操作。
1.1 命令行参数
Snort拥有众多命令行选项,截至2.6版本,它能识别四十多个基本选项和越来越多的“长选项”。这些选项用于设置Snort内部程序配置中的各种变量和标志。通常,被选为命令行选项的配置值比配置文件中的选项更常变化,这样可以在不更新配置文件的情况下微调Snort的行为。若想了解命令行选项的处理方式,可查看 snort.c 文件中的 ParseCmdLine 函数。
1.2 配置文件解析
配置文件包含一些未在命令行中指定的额外配置数据,如各种标志、配置值、预处理器配置、输出指令和规则等。Snort的配置文件解析器大多基于行进行解析,入口函数是 parser.c 中的 ParseRulesFile 。规则解析是其中重要的部分,每个Snort规则由头部和选项列表两部分组成,解析规则时会构建规则树。例如:
alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (content: "InnerWorkings"; msg: "InnerWorkings http traffic detected"; sid:1000000; rev:1; classtype:misc-activity;)
规则头部标识
超级会员免费看
订阅专栏 解锁全文
814

被折叠的 条评论
为什么被折叠?



