snort规则

一、Snort规则分为两个部分

二、规则头的基本格式

动作:

动作描述一个数据包的“谁,在何处,什么”的问题,并指明规则被激发后,在事件中应当做什么。在编写规则时,你可以从下面的关键字中选择:

·alert –用选择的警告方法生成一个警告,然后记录这个数据包。

·log -记录这个数据包。

·pass – 忽略此数据包。
协议:

规则的下一部分是协议。一些比较流行的协议包括TCP、UDP、ICMP等,不过Snort支持许多其它的协议,并继续增加新的协议。

源IP

紧跟着协议的部分是IP地址。它定义了数据包来自何处。你可以用“any”这个关键字来定义所有的IP地址。你甚至可以编写一个能够匹配除你指定的IP地址之外任何地址的规则。这是通过使用“!”这个否定操作符实现的。

源端口

它说的是数据包来自哪个端口。端口号也可以使用“any”关键字。你还可以通过使用“:”定义一个范围内的端口。例如,1:1000定义了从1到1000范围内的所有端口。

方向操作符:

方向操作符“->”用于定义规则所适用的通信方向。换句话说,即指明通信进入或出自你计算机的什么地方。

目标IP

下一部分是目标地址。它定义了数据包要到何方。与源地址类似,你也可以使用“any”关键字或定义一个不会引起规则被激发的地址。

目标端口

紧随目标IP地址的部分是目标端口号,即数据包设法连接的端口号。这儿的选项与源端口相同。

三、规则选项的基本格式

在这里插入图片描述
规则选项可以分为四类
在这里插入图片描述
General:

	msg、reference,gid,sid rev、classtype、priority、metadata;

Payload:

	content,protected_content、byte_[test/jump]、isdata Preprocessor,nocase、rawbytes、depth、
	offset、distance、within,http_[cookie/header/method/uri];

non-payload:

	fragoffset,ttl,tos,id,ipopts,fragbits,dsize,flags,flowbits,seq,ack,windows,
	itype,icode,icmpid,icmp-seq,rpc,ip_proto,sameip,stream_reassemable,stream_size。

post-detection:

	logto,session,resp,react,tag,activates与activated_by,count,replace,detection_filter。

四、规则范例

示例一:

在这里插入图片描述

示例二:

在这里插入图片描述

示例三:

在这里插入图片描述

示例四:

在这里插入图片描述

posted @ 2018-10-24 11:27  浅笑996  阅读(627)  评论(0编辑  收藏  举报