isdataat
The isdataat
rule option verifies the payload data exists at a specified location.
isdataat
is specified with the isdataat
keyword, followed by a colon character, followed by a number that signals where to look for packet data, and lastly followed optionally by ,relative
to tell Snort to look for data starting from a previous cursor move.
Users can also specify a negated isdataat
check with !
placed before the number to check that certain amount of data is not present at a specified location in the payload.
Valid isdataat
numbers are 0 through 65535 (inclusive). This means that isdataat:0
checks that there is at least one byte present after the current cursor location.
Format:
isdataat:[!]location[,relative];
Examples:
isdataat:100;
content:"USER";
# checks for at least 30 bytes after "USER" since valid isdataat numbers start at 0
isdataat:29,relative;
content:!"|0a|", within 30;