SNORT由数据包捕获和解码、检测引擎及日志和报警三个子系统组成;
数据包捕获和解码子系统捕获传输数据TCP/IP协议解析LIBPCAP库函数采集数据NIDS实现SNORT可处理以太网令牌环及SLIP等链路的数据包;
检测引擎已知攻击方法以规则形式存放规则库中,每一条规则由规则头和规则选项组成,规则头对应规则树结点RTN包含动作、协议、源目的地址和端口及数据流向;规则选项对应规则选项结点OTN包含报警信息和匹配信息;
SNORT捕获一个数据包时,分析数据包协议,决定与某个规则树匹配,与RTN结点依次匹配,相配后,往下与OTN结点匹配,相配时,判断此数据包为攻击数据包。
日志和报警子系统