Snort:网络入侵检测的全方位指南
1. Snort数据包处理流程
当网络数据包进入Snort正在嗅探的以太网线路时,会经历以下路径:
1. 数据包捕获库 :这是一个独立的软件,负责从网卡获取网络数据包。在Linux和Unix系统中,Snort使用libpcap;在Windows系统中,使用WinPcap。这里获取的是未处理的数据链路层(OSI模型的第2层)数据包,如以太网帧。
2. 数据包解码器 :对数据包捕获库发送的第2层数据进行解析。先解码数据链路帧(如以太网、令牌环或802.11),接着是IP协议,最后是TCP或UDP数据包。解码完成后,Snort便拥有了所有协议信息,以便进行进一步处理。
3. 预处理器 :Snort的预处理器有多个可开启或关闭的插件。它对解码后的数据包进行各种转换,使数据更易于Snort处理。预处理器可以在将数据包发送到更消耗CPU资源的检测引擎之前,对其进行告警、分类或丢弃操作。
4. 检测引擎 :这是Snort的核心部分。它从数据包解码器和预处理器获取信息,并在传输层和应用层(OSI模型的第4层和第5层)进行操作,将数据包内容与基于规则的检测插件中的信息进行比较。这些规则包含攻击的特征,用于检测攻击。
5. 输出 :当预处理器或规则被触发时,会生成并记录告警(可选地记录违规数据包)。Snort支持多种输出插件,包括基于文本和二进制的日志格式、多个数据库以及syslog。
下面用mermaid流程图展示这个过程:
超级会员免费看
订阅专栏 解锁全文
9388

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



