snort规则中byte_test参数详解
例子:
byte_test:4,>,1000,20
这里是从本规则内前面匹配的位置结尾开始,向后偏移20个字节,再获取后面的4个字节的数据,与十进制数据1000进行比较,如果大于1000,就命中。
其实byte_test这个规则与content这个规则相比大致就是增加了>和<这两个方法,因为对content来说其只能进行相等的比较。
byte_test:1,!&,0xF8,2
“2”:我们位于DNS协议的第三个字节。“1”:这显示了我们将从“2”位置取多少字节:一个字节。“!&“:这意味着我们将对第三个字段中的值执行“而不是”二进制操作。
那么该参数表示将从后偏移两个字节,从第三个字节开始获取一个字节,与0xF8进行匹配;若符合操作符“!&“,则命中;否则,不命中。
0xF8:1111 1000
匹配:
0x07:0000 0111