当前位置:  网络技术>安全漏洞

Snort原理介绍及下载地址

 
分享到:
    发布时间:2013-9-14  


    本文导语:  Snort简介 Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation(报警并启动另外一个...

Snort简介

  Snort能够对网络上的数据包进行抓包分析,但区别其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。

  Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成TIP碎片重组,http解码telnet解码等功能,处理插件完成检查协议各字段,关闭连接攻击响应等功能,输出插件将得理后的各种情况以日志警告的方式输出。

1.嗅探器

   所谓的嗅探器模式就是snort从网络上读出数据包然后显示在你的控制台上。首先,我们从最基本的用法入手。如果你只要把TCP/IP包头信息打印在屏幕上,只需要输入下面的命令:

  ./snort -v

 使用这个命令将使snort只输出IP和TCP/UDP/ICMP的包头信息。如果你要看到应用层的数据,可以使用:

  ./snort -vd

 这条命令使snort在输出包头信息的同时显示包的数据信息。如果你还要显示数据链路层的信息,就使用下面的命令:

  ./snort -vde

  注意这些选项开关还可以分开写或者任意结合在一块。例如:下面的命令就和上面最后的一条命令等价:

  ./snort -d -v –e

2.数据包记录器

   如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort就会自动记录数据包:

     ./snort -dev -l ./log

   当然,./log目录必须存在,否则snort就会报告错误信息并退出。当snort在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机IP地址命名,例如:192.168.10.1

  如果你只指定了-l命令开关,而没有设置目录名,snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。为了只对本地网络进行日志,你需要给出本地网络:

  ./snort -dev -l ./log -h 192.168.1.0/24

   这个命令告诉snort把进入C类网络192.168.1的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。

   如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。所谓的二进制日志文件格式就是tcpdump程序使用的格式。使用下面的命令可以把所有的包记录到一个单一的二进制文件中:

  ./snort -l ./log -b

   注意此处的命令行和上面的有很大的不同。我们勿需指定本地网络,因为所有的东西都被记录到一个单一的文件。你也不必冗余模式或者使用-d、-e功能选项,因为数据包中的所有内容都会被记录到日志文件中。

   你可以使用任何支持tcpdump二进制格式的嗅探器程序从这个文件中读出数据包,例如: tcpdump或者Ethereal。使用-r功能开关,也能使snort读出包的数据。snort在所有运行模式下都能够处理tcpdump格式的文件。例如:如果你想在嗅探器模式下把一个tcpdump格式的二进制文件中的包打印到屏幕上,可以输入下面的命令:

     ./snort -dv -r packet.log

   在日志包和入侵检测模式下,通过BPF(BSD Packet Filter)接口,你可以使用许多方式维护日志文件中的数据。例如,你只想从日志文件中提取ICMP包,只需要输入下面的命令行:

     ./snort -dvr packet.log icmp

3.网络入侵检测系统

   snort最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式:

     ./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf

   snort.conf是规则集文件。snort会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。如果你不指定输出目录,snort就输出到/var/log/snort目录。

   注意:如果你想长期使用snort作为自己的入侵检测系统,最好不要使用-v选项。因为使用这个选项,使snort向屏幕上输出一些信息,会大大降低snort的处理速度,从而在向显示器输出的过程中丢弃一些包。

   此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以-e选项也可以不用:

     ./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf

   这是使用snort作为网络入侵检测系统最基本的形式,日志符合规则的包,以ASCII形式保存在有层次的目录结构中。

   网络入侵检测模式下的输出选项

   在NIDS模式下,有很多的方式来配置snort的输出。在默认情况下,snort以ASCII格式记录日志,使用full报警机制。如果使用full报警机制,Snort会在包头之后打印报警消息。如果你不需要日志包,可以使用-N选项。

   Snort有6种报警机制:full、fastsocketsyslogsmb(winpopup)和none。其中有4个可以在命令行状态下使用-A选项设置。这4个是:

-A fast:报警信息包括:一个时间戳(timestamp)、报警消息、源/目的IP地址和端口

-A full:是默认的报警模式。

-A unsock:把报警发送到一个UNIX套接字,需要有一个程序进行监听,这样可以实现实时报警。

-A none:关闭报警机制。

   使用-s选项可以使snort把报警消息发送到syslog,默认的设备是LOG_AUTHPRIV和LOG_ALERT。可以修改snort.conf文件修改其配置。

   snort还可以使用SMB报警机制,通过SAMBA把报警消息发送到Windows主机。为了使用这个报警机制,在运行./configure脚本时,必须使用--enable-smbalerts选项。

下面是一些输出配置的例子:

   使用默认的日志方式(以解码的ASCII格式)并且把报警发给syslog:

   ./snort -c snort.conf -l ./log -s -h 192.168.1.0/24

   使用二进制日志格式和SMB报警机制:

./snort -c snort.conf -b -M WORKSTATIONS

Snort下载

Snort引擎在主流的Linux和Windows上提供了源代码和二进制两种下载,下载地址:


Snort下载地址


    您可能感兴趣的文章:

  • 本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.169IT.COM)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
    转载请注明:文章转载自:[169IT-IT技术资讯]
    本文标题:Snort原理介绍及下载地址
相关文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号