Snort是一款老牌的开源入侵检测工具,本文主要讨论他作为日志分析时的各种插件的应用。Snort的日志一般位于:/var/log/snort/目录下。可以通过修改配置文件来设置Snort的报警形式。基于文本的格式、Libpcap格式和数据库是Snort最重要的三种报警形式。本文主要对每种报警形式及其配置进行介绍。
1工作模式及输出插件
Snort拥有3种工作模式,分别为嗅探器模式、分组日志模式与网络入侵检测模式。
(1)嗅探器模式
Snort使用Libpcap包捕获库,即TCPDUMP使用的库。在这种模式下,Snort使用网络接口的混杂模式读取并解析共享信道中的网络分组。
该模式使用命令如下:
#snort -v
注意:这里的参数是小写字母v,而大写V则是显示snort版本。以上只显示TCP/IP网络数据包头信息,如果想查看详细的应用层数据信息,则需要输入以下命令:
#snort –vd
如果希望查看数据链路层的包头信息,使用如下信息:
#snort –vde
还有一个类似“-d”参数的,“-X”它会从数据链路层开始输出原始数据包。
如果想将Snort作为IDS使用,不建议在命令行下使用“-vd”尤其是“-ved”参数,因为详细模式将数据包信息打印到控制台,这样严重影响了Snort的性能很容易引起丢包,这样分析数据不准确。
2数据包记录模式
如果想将数据信息记录到磁盘上某个文件,那就需要使用Packet logger模式。
命令如下:
#snort –ved –l ./log
这时Snort会把数据链路层、Tcp/IP报头及应用层信息写入当前目录log(log目录已建立)目录下的snort.log.140493321文件中,而且这是二进制文件。你也许会问,ASCII格式的日志文件格式非常好识别,为什么不直接记录成ASCII格式呢?因为系统本生记录的格式就是二进制的,如果再转换成我们能识别的ASCII格式无疑会加重系统负荷,所以Snort在做IDS使用时理应采用二进制格式记录,另外还要注意:“-l”参数是小写字母l
如果想查看所记录的日志就得使用“r”参数。
操作实例如下:
#snort –dvr snort.log.140493321
还可以提取部分感兴趣的数据,例如只读取ICMP包,输入如下命令:
#snort –dvr snort.log.140493321 icmp
只读取tcp包,输入如下命令:
#snort –dvr snort.log.140493321 tcp
如果想记录某个网段的数据呢ÿ