Snort简明使用手册

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Snort简明使用手册2007-03-22 22:28Snort2.6——USAGE(中文)

1.0 开始使用snort

Snort不是很难使用,但是也存在着很多的命令行选项需要掌握,并且它们中许多很多时候并不能一起使用。这个文件的目的就是使新人能够更简单的使用snort。

在我们进行下一步之前,有一些关于snort的基本概念需要了解。snort能够配置成三种模式运行:

嗅探器(sniffer),包记录器(packet logger)和网络入侵检测系统(NIDS)。嗅探模式(sniffer mode)简单的读取网络中的数据包,并以连续的数据流显示在控制台上。包记录模式(packet logger mode)把捕获的数据包记录在磁盘上。网络入侵检测模式(NIDS mode)是最复杂的、有机的配置,在这个模式下,snort分析网络中的数据,并通过使用用户自定义的规则集进行模式匹配,并根据匹配的结果执行多种操作。

2.0 嗅探模式(sniffer mode)

首先,让我们从基础开始。如果你只是想要在屏幕上打印出TCP/IP的包头信息(嗅探模式),使用下面的命令:

./snort –v

使用这个命令运行snort,将只显示IP和TCP/UDP/ICMP头信息,而不显示任何其它信息。如果你想要查看传输的有效负载信息,可以使用如下命令:

./snort –vd

这条命令在打印协议头信息的同时也打印相应的包数据。如果你想要一个更详细的现实,可以使用下面的命令来打印出数据链路层头信息:

./snort –vde

(注:这些选项参数能够分开或者拆散成任和结合的方式。比如上一个命令也可以写做这种方式: ./snort -d -v – e

来达到同样的效果)

3.0 包记录模式(PACKET LOGGER MODE)

好的,上面的命令运行的都相当的好。但是如果你想要记录包到磁盘上,你需要指定一个记录目录,然后snort将自动的进入包记录模式:

./snort -dev -l ./log

当然,这里假设你在当前目录下有一个叫做“log”的目录。如果没有这个目录,snort将退出并返回错误信息。当snort以这种模式运行,它收集所有捕获的数据包,并根据数据包中一个主机的IP地址放入对应的目录中。

如果你只是简单的指定“-l”选项,你可能会发现snort有时使用远程计算机的地址作为存放数据包的目录,有时使用本地主机的地址。为了比较本地的网络,你需要告诉snort本地网络的信息:

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

这条指令让snort能够记录数据链路信息和TCP/IP头和应用数据到目录./log,并且记录和

192.168.1.0段C类网络相关的包信息。所有进来的包将记录到记录文件夹中对应的子文件夹中,子文件夹以远程主机(非192.168.1主机)的地址命名。注意,如果两个主机都是在本地网络内,然后他们将根据两个中高的端口号来记录,在端口号相等的情况下,将使用源地址来记录。

如果你在一个高速网络中,又或你想要使用一个更紧凑的格式来记录数据包为以后的分析所用,你可以考虑使用“二进制模式”来记录。二进制模式采用“tcpdump 格式”来记录数据包到指定目录下的单

一二进制文件中。

./snort -l ./log – b

注意这里命令行的改变。我们不再需要指定一个本地网络,因为二进制模式记录所有的数据到一个单一的文件中,而不再需要定义输出的目录结构。另外,你不再需要使用详细(verbose)模式和指定-d/-e开关参数,因为在二进制模式下所有的包都会被记录而不是其中的某些部分。进入二进制包记录模式只需要做两点,一是在命令行中使用-l开关来指定一个日志目录,二是使用-b开关选择二进制模式代替ASCII文档模式记录包数据。

如果数据包以二进制文件的形式记录,你可以使用任何支持tcpdump二进制格式的嗅探器从文件中读取数据包信息,比如使用tcpdump或ethereal。snort也可以通过使用-r开关进入回放模式来读取记录的数据包信息。snort在任何运行模式下都能够接受tcpdump格式的文件并进行处理。比如,如果你想要以嗅探器模式来分析处理一个二进制文件并把数据包信息打印在屏幕,你可以使用类似下面的命令:

./snort -dv -r packet.log

你还可以以多种方式操作二进制文件中的数据,比如包记录模式和入侵检测模式,你也同样可以在命令行中使用BPF接口。比如,如果你只是想查看记录文件中的ICMP数据包信息,可以在命令行中简单的指定一个BPF过滤器:

./snort -dvr packet.log icmp

更多的BPF使用信息请参阅相应的man信息。

4.0 网络入侵检测模式(NETWORK INTRUSION DETECTION MODE)

可以使用如下命令来启用snort的网络入侵检测模式(这个模式下,你不用记录所有的数据包):

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

在这里snort.conf是你的规则文件名。这将对每一个数据包使用snort.conf文件中定义的规则集进行检测,并根据文件中定义的行为进行处理。如果你没有为程序指定输出目录,将使用默认的目录“/var/log/snort”。

有一点需要注意的是,使用上一命令行形式进入NIDS模式运行速度稍慢,可以去掉“-v”开关来提高效率。往屏幕输出数据速度很慢,在数据显示的过程中可能会造成数据包的丢失。

同样,对于大多数的应用而言,都不比要记录数据链路层包头信息,因此“-e”开关也是可以去掉的。最后命令如下:

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

这个命令能够配置snort以最基础的NIDS模式运行。它将以ASCII格式记录规则指定的包信息到对应的目录结构中(和包记录模式中目录结构一致)。

4.1 NIDS MODE输出选项

在snort的NIDS模式中有几种输出方式可以配置。默认的记录和报警以ASCII形式记录,并使用“完全”报警。完全报警方式(full alert mechanism)输出所有的包头信息并在其后附上对应的报警信息。当然,在命令行中可以设置多种报警输出模式和两种日志记录格式。包信息可以以默认的ASCII格式记录,也可以通过使用命令行开关“-b”来用二进制文件记录。如果你想要完全禁用包记录信息,可以使用命令行开关“-N”。

报警模式相对要复杂一些。在命令行中可以设置多种报警模式:full、fast、socket、syslog、console、cmg、和none模式。这六种模式可以使用命令行开关“-A”来设置。详细如下:

u -A fast 快速报警模式,以一种简单的格式记录报警信息(时间、报警信息、源和目

相关文档
最新文档