Snort总结-系统结构


Snort总结-系统结构


1)      主控模块实现的功能包括所有模块的初始化、命令行参数解释、配置文件解释、数据包捕获库Libpcap的初始化,然后调用Libpcap开始捕获数据包,初始化插件链表,初始化预处理插件,读入规则,形成规则匹配数据结构,规则快速匹配数据结构和输出数据结构。
2)      解码模块把从网络上抓取的原始数据,从下向上沿各个协议进行解码并填相应的数据结构,以便规则处理模块处理。
3)      预处理模块在处理模块之前进行,在对报文进行模式匹配之前,先进行分片重组、流重组和异常检查等预处理操作。
4)      处理模块实现对这些报文进行基于规则的模式匹配工作,检测出入侵行为;在初始化阶段它还负责完成规则文件的解释和规则语法树的构建工作。处理模块主要检查数据包的各个方面,包括数据包的大小、协议类型、IP/ICMP/TCP/UDP的选项等,辅助规则匹配完成检测功能。
5)      输出模块实现在检测到攻击后执行各种输出和反应的功能。
6)      日志模块实现各种报文日志功能,也就是把各种类型的报文记录到各种类型的日志中。
7)      在系统运行的过程中,还使用一些辅助模块;树结构定义子模块定义了几种Snort使用的二叉树结构和相关的处理函数,uag处理子模块完成了和mg相关的功能,另外一些子模块也提供了一些公用的函数,如字符串处理等。

你可能感兴趣的:(Snort总结-系统结构)