within规则选项是snort规则中针对检测位置的约束规则选项。
规则语法
规则样式
within:value;
规则功能
检测在within指定范围value内,是否有满足条件的数据。
备注:
主要与distance配合使用,用于表示指定区间范围内是否包含威胁数据。(关于distance的功能说明可参照snort规则distance规则选项详解)
规则示例
为了更好的说明within的使用方法,列举了如下两个within的典型使用场景,辅助说明within在实际规则中如何使用。
规则示例1
规则释意:
- 待检测payload为:abcxxxxdefghij
- 命中content:”abc”;规则选项后剩余待检测数据为:xxxxdefghij
- content:”def”;distance:0;within:3;子规则的意思是在剩余待检测数据:xxxxdefghij的前三个字节范围内检测是否包含def,很显然不包含,故该规则不命中
规则示例2
规则释意:
- 待检测payload为:abcxdefghij
- 命中content:”abc”;规则选项后剩余待检测数据为:xdefghij
- content:”def”;distance:0;within:3;子规则的意思是在剩余待检测数据:xdefghij的第一个字节到第五个字节范围(defg)内检测是否包含def,很显然包含,故该规则命中