Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统(ids)。
嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。
数据包记录器模式把数据包记录到硬盘上。
网络入侵检测模式是最复杂的,而且是可配置的。可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。
Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取:Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、
Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。
Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。
Snort通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap或winpcap函数从
网络中捕获数据包;然后将捕获的数据包送到包解码器进行解码。
解码器--->预处理器--->规则检测--->输出模块