~~~~~
- Using ``http.response_body`` is similar to having content matches
- that come after ``file_data`` except that it doesn't permanently
+ that come after ``file.data`` except that it doesn't permanently
(unless reset) set the detection pointer to the beginning of the
server response body. i.e. it is not a sticky buffer.
- ``http.response_body`` will match on gzip decoded data just like
- ``file_data`` does.
+ ``file.data`` does.
- Since ``http.response_body`` matches on a server response, it
can't be used with the ``to_server`` or ``from_client`` flow
- Corresponding PCRE modifier: ``Q``
-- further notes at the ``file_data`` section below.
+- further notes at the ``file.data`` section below.
``http.response_body`` replaces the previous keyword name: ```http_server_body``. You may continue
+to use the previous name, but it's recommended that rules be converted to use
- Corresponding PCRE modifier (``http_host``): ``W``
- Corresponding PCRE modifier (``http_raw_host``): ``Z``
-file_data
+file.data
---------
-With ``file_data``, the HTTP response body is inspected, just like
-with ``http.response_body``. The ``file_data`` keyword is a sticky buffer.
+With ``file.data``, the HTTP response body is inspected, just like
+with ``http.response_body``. The ``file.data`` keyword is a sticky buffer.
Example::
- alert http any any -> any any (file_data; content:"abc"; content:"xyz";)
+ alert http any any -> any any (file.data; content:"abc"; content:"xyz";)
.. image:: http-keywords/file_data.png
-The ``file_data`` keyword affects all following content matches, until
+The ``file.data`` keyword affects all following content matches, until
the ``pkt_data`` keyword is encountered or it reaches the end of the
rule. This makes it a useful shortcut for applying many content
matches to the HTTP response body, eliminating the need to modify each
setting.
If the HTTP body is a flash file compressed with 'deflate' or 'lzma',
-it can be decompressed and ``file_data`` can match on the decompress data.
+it can be decompressed and ``file.data`` can match on the decompress data.
Flash decompression must be enabled under ``libhtp`` configuration:
::
Notes
~~~~~
-- If a HTTP body is using gzip or deflate, ``file_data`` will match
+- If a HTTP body is using gzip or deflate, ``file.data`` will match
on the decompressed data.
- Negated matching is affected by the chunked inspection. E.g.
than 1k, 'content:!"<html"; depth:1024;' can only match if the
pattern '<html' is absent from the first inspected chunk.
-- ``file_data`` can also be used with SMTP
+- ``file.data`` can also be used with SMTP