snort规则byte_test详细解释

网上关于snort规则的解读不够详细,有些规则甚至没有具体的解释。

根据个人经验,介绍几个如下:

Byte_Test

测试一个字节的域为特定的值。能够测试二进制值或者把字节字符串转换成二进制后再测试。

格式:byte_test: , , , [[relative],[big],[little],[string],[hex],[dec],[oct]]
bytes_to_convert 从数据包取得的字节数。
operator 对检测执行的操作 (<,>,=,!)。
value 和转换后的值相测试的值。
offset 开始处理的字节在负载中的偏移量。
relative 使用一个相对于上次模式匹配的相对的偏移量。
big 以网络字节顺序处理数据(缺省)。
little 以主机字节顺序处理数据。
string 数据包中的数据以字符串形式存储。
hex 把字符串数据转换成十六进制数形式。
dec 把字符串数据转换成十进制数形式。
oct 把字符串数据转换成八进制数形式。

例子:

byte_test:4,>,1000,20

这里是从本规则内前面匹配的位置结尾开始,向后偏移20个字节,再获取后面的4个字节的数据,与十进制数据1000进行比较,如果大于1000,就命中。

其实byte_test这个规则与content这个规则相比大致就是增加了>和<这两个方法,因为对content来说其只能进行相等的比较。

关于“snort规则byte_test详细解释”我的2个想法

    1. byte_test:4,>,1000,20
      这里写的很清楚了啊,每个参数我都解释了啊

      这里是从本规则内前面匹配的位置结尾开始,向后偏移20个字节,再获取后面的4个字节的数据,与十进制数据1000进行比较,如果大于1000,就命中。

      其实byte_test这个规则与content这个规则相比大致就是增加了>和<这两个方法,因为对content来说其只能进行相等的比较。

发表评论