]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
doc: update file.data keyword documentation
authorjason taylor <jtfas90@gmail.com>
Thu, 16 Nov 2023 13:49:50 +0000 (13:49 +0000)
committerVictor Julien <victor@inliniac.net>
Sun, 19 Nov 2023 06:25:14 +0000 (07:25 +0100)
Signed-off-by: jason taylor <jtfas90@gmail.com>
doc/userguide/rules/file-keywords.rst
doc/userguide/rules/http-keywords.rst
src/detect-file-data.c

index a9b24deafe07caa1018ea592e618ae1381aa1738..c708ee746c0df3d992c26dab4b143989432878d2 100644 (file)
@@ -5,6 +5,36 @@ Suricata comes with several rule keywords to match on various file
 properties. They depend on properly configured
 :doc:`../file-extraction/file-extraction`.
 
+file.data
+---------
+
+The ``file.data`` sticky buffer matches on contents of files that are 
+seen in flows that Suricata evaluates. The various payload keywords can
+be used (e.g. ``startswith``, ``nocase`` and ``bsize``) with ``file.data``.
+
+Example::
+
+  alert smtp any any -> any any (msg:"smtp app layer file.data example"; \
+ file.data; content:"example file content"; sid:1; rev:1)
+
+  alert http any any -> any any (msg:"http app layer file.data example"; \
+ file.data; content:"example file content"; sid:2; rev:1)
+
+  alert http2 any any -> any any (msg:"http2 app layer file.data example"; \
+ file.data; content:"example file content"; sid:3; rev:1;)
+
+  alert nfs any any -> any any (msg:"nfs app layer file.data example"; \
+ file.data; content:" "; sid:5; rev:1)
+
+  alert ftp-data any any -> any any (msg:"ftp app layer file.data example"; \
+ file.data; content:"example file content"; sid:6; rev:1;)
+
+  alert tcp any any -> any any (msg:"tcp file.data example"; \
+ file.data; content:"example file content"; sid:4; rev:1)
+
+**Note** file_data is the legacy notation but can still be used.
+
+
 file.name
 ---------
 
index 001c0f542e84ce5a05ffb4a5426aa76a2d0e59d9..0c0f652ad397ed781a41f19d3066d3c2dc4c02f4 100644 (file)
@@ -838,7 +838,7 @@ Notes
    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
+-  Refer to :doc:`file-keywords` for additional information.
 
 Multiple Buffer Matching
 ~~~~~~~~~~~~~~~~~~~~~~~~
index 1f162d0d5ce815da7208cfefad70b48fcb2fb4fa..ec1069678f998e0b1304d147044a8ef1e2fc9ee5 100644 (file)
@@ -73,7 +73,7 @@ void DetectFiledataRegister(void)
     sigmatch_table[DETECT_FILE_DATA].name = "file.data";
     sigmatch_table[DETECT_FILE_DATA].alias = "file_data";
     sigmatch_table[DETECT_FILE_DATA].desc = "make content keywords match on file data";
-    sigmatch_table[DETECT_FILE_DATA].url = "/rules/http-keywords.html#file-data";
+    sigmatch_table[DETECT_FILE_DATA].url = "/rules/file-keywords.html#file-data";
     sigmatch_table[DETECT_FILE_DATA].Setup = DetectFiledataSetup;
 #ifdef UNITTESTS
     sigmatch_table[DETECT_FILE_DATA].RegisterTests = DetectFiledataRegisterTests;