data_size
The data_size keyword was originally used to test the TCP/UDP/ICMP payload size of the packet being inspected. It has since been extended to support other size related fields in application protocols.
Because TCP is stream-based, not packet-based, the sender can intentionally fragment the original packets before they are transmitted to evade detection. For this reason using data_size on TCP packets may not always be reliable.
Syntax:
--data_size [op]<value[,field];
[op]
is not required. The following operators are accepted:
<op> |
Description |
---|---|
|
The data size must be greater than the value specified. |
|
The data size must be less than the value specified. |
|
The data size must be equal to the value specified. When |
<value>
is required. It is a decimal number that specifies the data size.
[field]
is optional. One of the following keywords can be used:
[field] |
Description |
---|---|
|
The TCP/UDP/ICMP payload size is checked. This is the default setting. |
|
The URI length is checked. |
|
The length of the header is checked. |
|
The length of the body is checked. |
|
The value of "Content-Length:" in an HTTP header is checked. |
|
The chunk length value in the chunk header is checked. |
|
The length of the For
example, |
|
The SMTP data length in a BDAT command is checked. |
|
The SMTP data length in an XEXCH50 command is checked. |
Examples:
--data_size <128;
--pattern "/admin_/help/"; --context uri; --no_case; --data_size >1024,uri;
--parsed_type HTTP_POST: --pattern "nsiislog.dll"; -context uri; --no_case: --data_size >1000,http_content;