snort 中的规则解析框架(三)

简介

    前面两篇文章已经对部分代码做了分析,这里从整体上总结下snort处理配置文件的流程。

http://my.oschina.net/u/572632/blog/289256

http://my.oschina.net/u/572632/blog/289421

流程分析

   snort读取配置文件是为了根据配置文件初始化某些数据或使能某些结构。但同时snort的配置文件又支持包含(include)其他文件的功能,并且支持换行('\')符. 

    根据以上限制对照分析,配置文件的处理流程如下图:

  1. 首先初始化必要的基础结构

  2. 然后解析顶层文件

  3. 每个被解析单元是以一条规则为单位

  4. 分析规则部分特征来触发不同的解析方式

  5. 如果被触发的include方式则递归解析被包含的子文件

  6. 根据以上发现snort解析配置文件最重要的思想就是根据解析出来的数据选择下一步细化处理的插件,这样的处理方式相当灵活.

172159_Fst9_572632.jpg

结构分析

  1. 将待动态加载配置的模块看作数据初始化管理中的单元,存放待获取配置文件完成初始化接口的集合看作插件管理,将文件顶层词法分析看作文件解析管理。

  2. 待初始化的模块将自己的接口提供给插件管理注册

  3. 插件管理整理各个模块的初始化接口,并自己再注册部分必要的规则分析接口

  4. 文件解析管理负责不断读取配置文件,并以规则条目为顶层单元触发顶层插件

  5. 不断的分析该规则特征,并在提取到满足触发条件的特征后触发相应的插件.

  6. 在解析规则的过程中也触发了部分待初始化的数据注册的接口,这些接口也就根据配置文件对相应的模块进行了使能和初始化.

174727_pURO_572632.jpg

转载于:https://my.oschina.net/u/572632/blog/289471

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值