snort+中文手册

上传人:xzh****18 文档编号:34611242 上传时间:2018-02-26 格式:DOC 页数:34 大小:136.50KB
返回 下载 相关 举报
snort+中文手册_第1页
第1页 / 共34页
snort+中文手册_第2页
第2页 / 共34页
snort+中文手册_第3页
第3页 / 共34页
snort+中文手册_第4页
第4页 / 共34页
snort+中文手册_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《snort+中文手册》由会员分享,可在线阅读,更多相关《snort+中文手册(34页珍藏版)》请在金锄头文库上搜索。

1、Snort 中文手册摘要snort 有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器 模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让 snort 分析网络数据流以匹配用户定义的一些规则,并根据检测结果 采取一定的动作。(2003-12-11 16:39:12)Snort 用户手册第一章 snort 简介snort 有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器 模式把数据包记录到硬盘上。网

2、路入侵检测模式是最复杂的,而且是可配置的。我们可以让 snort 分析网络数据流以匹配用户定义的一些规则,并根据检测结果 采取一定的动作。嗅探器所谓的嗅探器模式就是 snort 从网络上读出数据包然后显示在你的控制台上。首先,我们从最基本的用法入手。如果你只要把 TCP/IP 包头信息打印在屏幕上,只需要输入下面的命令:./snort -v使用这个命令将使 snort 只输出 IP 和 TCP/UDP/ICMP 的包头信息。如果你要看到应用层的数据,可以使用:./snort -vd这条命令使 snort 在输出包头信息的同时显示包的数据信息。如果你还要显示数据链路层的信息,就使用下面的命令:.

3、/snort -vde注意这些选项开关还可以分开写或者任意结合在一块。例如:下面的命令就和上面最后的一条命令等价:./snort -d -v e数据包记录器如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort 就会自动记录数据包:./snort -dev -l ./log当然,./log 目录必须存在,否则 snort 就会报告错误信息并退出。当snort 在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的 IP 地址命名,例如:192.168.10.1如果你只指定了-l 命令开关,而没有设置目录名,snort 有时会使用远程主机的 IP 地址作为

4、目录,有时会使用本地主机 IP 地址作为目录名。为了只对本地网络进行日志,你需要给出本地网络:./snort -dev -l ./log -h 192.168.1.0/24这个命令告诉 snort 把进入 C 类网络 192.168.1 的所有包的数据链路、TCP/IP 以及应用层的数据记录到目录./log 中。如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。所谓的二进制日志文件格式就是 tcpdump 程序使用的格式。使用下面的命令可以把所有的包记录到一个单一的二进制文件中:./snort -l ./log -b注意此处的命令行和上面的有很大的不

5、同。我们勿需指定本地网络,因为所有的东西都被记录到一个单一的文件。你也不必冗余模式或者使用-d、-e 功能选项,因为数据包中的所有内容都会被记录到日志文件中。你可以使用任何支持 tcpdump 二进制格式的嗅探器程序从这个文件中读出数据包,例如: tcpdump 或者 Ethereal。使用-r 功能开关,也能使 snort 读出包的数据。snort 在所有运行模式下都能够处理 tcpdump 格式的文件。例如:如果你想在嗅探器模式下把一个 tcpdump 格式的二进制文件中的包打印到屏幕上,可以输入下面的命令:./snort -dv -r packet.log在日志包和入侵检测模式下,通过

6、BPF(BSD Packet Filter)接口,你可以使用许多方式维护日志文件中的数据。例如,你只想从日志文件中提取 ICMP 包,只需要输入下面的命令行:./snort -dvr packet.log icmp网络入侵检测系统snort 最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式:./snort -dev -l ./log -h 192.168.1.0/24 -c snort.confsnort.conf 是规则集文件。snort 会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。如果你不指定输出目录,snort 就输出到/var/log/sn

7、ort 目录。注意:如果你想长期使用 snort 作为自己的入侵检测系统,最好不要使用-v 选项。因为使用这个选项,使 snort 向屏幕上输出一些信息,会大大降低snort 的处理速度,从而在向显示器输出的过程中丢弃一些包。此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以-e 选项也可以不用:./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf这是使用 snort 作为网络入侵检测系统最基本的形式,日志符合规则的包,以 ASCII 形式保存在有层次的目录结构中。网络入侵检测模式下的输出选项在 NIDS 模式下,有很多的方式来配置

8、snort 的输出。在默认情况下,snort 以 ASCII 格式记录日志,使用 full 报警机制。如果使用 full 报警机制,snort 会在包头之后打印报警消息。如果你不需要日志包,可以使用-N 选项。snort 有 6 种报警机制:full、fast、socket、syslog、smb(winpopup)和none。其中有 4 个可以在命令行状态下使用-A 选项设置。这 4 个是: -A fast:报警信息包括:一个时间戳(timestamp)、报警消息、源/目的IP 地址和端口。 -A full:是默认的报警模式。-A unsock:把报警发送到一个 UNIX 套接字,需要有一个程

9、序进行监听,这样可以实现实时报警。-A none:关闭报警机制。使用-s 选项可以使 snort 把报警消息发送到 syslog,默认的设备是LOG_AUTHPRIV 和 LOG_ALERT。可以修改 snort.conf 文件修改其配置。 snort 还可以使用 SMB 报警机制,通过 SAMBA 把报警消息发送到 Windows主机。为了使用这个报警机制,在运行./configure 脚本时,必须使用-enable-smbalerts 选项。下面是一些输出配置的例子:使用默认的日志方式(以解码的 ASCII 格式)并且把报警发给 syslog:./snort -c snort.conf -

10、l ./log -s -h 192.168.1.0/24使用二进制日志格式和 SMB 报警机制:./snort -c snort.conf -b -M WORKSTATIONS第二章 编写 snort 规则基础snort 使用一种简单的,轻量级的规则描述语言,这种语言灵活而强大。在开发 snort 规则时要记住几个简单的原则。第一, 大多数 snort 规则都写在一个单行上,或者在多行之间的行尾用/分隔。Snort 规则被分成两个逻辑部分:规则头和规则选项。规则头包含规则的动作,协议,源和目标 ip 地址与网络掩码,以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的具体部分。下面

11、是一个规则范例:alert tcp any any - 192.168.1.0/24 111 (content:|00 01 86 a5|; msg: mountd access;)第一个括号前的部分是规则头(rule header),包含的括号内的部分是规则选项(rule options)。规则选项部分中冒号前的单词称为选项关键字(option keywords)。注意,不是所有规则都必须包含规则选项部分,选项部分只是为了使对要收集或报警,或丢弃的包的定义更加严格。组成一个规则的所有元素 对于指定的要采取的行动都必须是真的。当多个元素放在一起时,可以认为它们组成了一个逻辑与(AND)语句。同

12、时,snort 规则库文件中的不同规则可以 认为组成了一个大的逻辑或(OR)语句。规则高级概念Includes:include 允许由命令行指定的规则文件包含其他的规则文件。格式:include: 注意在该行结尾处没有分号。被包含的文件会把任何预先定义的变量值替换为自己的变量引用。参见变量(Variables)一节以获取关于在 SNORT 规则文件中定义和使用变量的更多信息。Variables :变量可能在 snort 中定义。格式:var: 例子:var MY_NET 192.168.1.0/24 alert tcp any any - $MY_NET any (flags: S; msg:

13、 SYN packet;)规则变量名可以用多种方法修改。可以在$操作符之后定义变量。? 和 -可用于变量修改操作符。$var - 定义变量。$(var) - 用变量var的值替换。$(var:-default) - 用变量var的值替换,如果var没有定义用default替换。 $(var:?message) - 用变量var的值替换或打印出错误消息message然后退出。 例子:var MY_NET $(MY_NET:-192.168.1.0/24) log tcp any any - $(MY_NET:?MY_NET is undefined!) 23ConfigSnort 的很多配置和命

14、令行选项都可以在配置文件中设置。格式:config : Directives order 改变规则的顺序( snort -o ) alertfile 设置报警输出文件,例如:config alertfile: alerts classification 创建规则分类。 decode_arp 开启 arp 解码功能。(snort -a) dump_chars_only 开启字符倾卸功能。(snort -C) dump_payload 倾卸应用层数据。(snort -d) decode_data_link 解码第二层数据包头。(snort -e) bpf_file 指定 BPF 过滤器(snort

15、 -F)。例如:config bpf_file: filename.bpf set_gid 改变 GID (snort -g)。例如:config set_gid: snort_group daemon 以后台进程运行。(snort -D) reference_net 设置本地网络。 (snort -h). 例如:config reference_net:192.168.1.0/24 interface 设置网络接口(snort i )。例如:config interface: xl0 alert_with_interface_name 报警时附加上接口信息。(snort -I) logdir

16、 设置记录目录 (snort -l)。例如:config logdir: /var/log/snort umask 设置 snort 输出文件的权限位。(snort -m). Example: config umask: 022 pkt_count 处理 n 个数据包后就退出。(snort -n). Example: config pkt_count: 13 nolog 关闭记录功能,报警仍然有效。 (snort -N) obfuscate 使 IP 地址混乱 (snort -O) no_promisc 关闭混杂模式。(snort -p) quiet 安静模式,不显示标志和状态报告。(snort -q) checksum_mode 计算校验和的协议类型。类型值:none, noip, notcp, noicmp, noudp, all utc 在时间戳上用 UTC 时间代替本地时间。 (snort -U) ver

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 理论文章

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号