From: Tom Peters (thopeter)
to your snort.lua configuration file. Or you can read it in the source code under src/service_inspectors/http_inspect.
The classic HTTP preprocessor is still available in the alpha release -under extra/src/inspectors/http_server. Be sure not to configure both old and new HTTP inspectors -at the same time.
The classic HTTP preprocessor is still available in the alpha release under +extra. It has been renamed http_server. Be sure not to configure both old +and new HTTP inspectors at the same time.
So why a new HTTP inspector?
For starters it is object-oriented. Thatâs good for us because we maintain this software. But it should also be really nice for open-source @@ -1044,20 +1044,20 @@ processing without having to understand the whole thing. In fact much of the new HTTP inspectorâs knowledge of HTTP is centralized in a series of tables where it can be easily reviewed and modified. Many significant changes can be made just by updating these tables.
The new http_inspect is the first inspector written specifically for the new +
Http_inspect is the first inspector written specifically for the new Snort 3.0 architecture. That provides access to one of the very best -features of Snort 3.0: purely PDU-based inspection. Classic http_inspect +features of Snort 3.0: purely PDU-based inspection. The classic preprocessor processes HTTP messages, but even while doing so it is constantly aware of IP packets and how they divide up the TCP data stream. The same HTTP message might be processed differently depending on how the sender (bad guy) divided it up into IP packets.
The new http_inspect is free of this burden and can focus exclusively on -HTTP. That makes it much more simple, easier to test, and less prone to false +
Http_inspect is free of this burden and can focus exclusively on HTTP. +That makes it much simpler, easier to test, and less prone to false positives. It also greatly reduces the opportunity for adversaries to probe the inspector for weak spots by adjusting packet boundaries to disguise bad behavior.
Dealing solely with HTTP messages also opens the door for developing major -new features. The new http_inspect design supports true stateful +new features. The http_inspect design supports true stateful processing. Want to ask questions that involve both the client request and the server response? Or different requests in the same session? These things are possible.
The new http_inspect is taking a very different approach to HTTP header fields. -Classic http_inspect divides all the HTTP headers following the start line +not any underlying packets. Exactly what http_inspect wants to input.
Http_inspect is taking a very different approach to HTTP header fields. +The classic preprocessor divides all the HTTP headers following the start line into cookies and everything else. It normalizes the two pieces using a generic process and puts them in buffers that one can write rules against. There is some limited support for examining individual headers within the @@ -1081,7 +1081,9 @@ normalization means put that date in a standard format.
One of the fundamental differences between Snort and Snort++ concerns configuration related to networks and ports. Here is a brief review of Snort’s configuration for network and service related components:
One of the fundamental differences between Snort and Snort++ concerns configuration +related to networks and ports. Here is a brief review of Snort’s configuration for +network and service related components:
@@ -2476,7 +2478,7 @@ bool daq.no_promisc = false: whether to put DAQ device into pro
-116:468 (decode) too many protocols present +116:472 (decode) too many protocols present
+string side_channel.connector: connector handle +
+Peg counts:
What: support for cisco metadata
Type: codec
Rules:
+116:468 (ciscometadata) truncated Cisco Metadata header +
++116:469 (ciscometadata) invalid Cisco Metadata option length +
++116:470 (ciscometadata) invalid Cisco Metadata option type +
++116:471 (ciscometadata) invalid Cisco Metadata SGT +
+What: support for encapsulated remote switched port analyzer - type 2
Type: codec
+appid.rsync_flows: count of rsync service flows discovered by appid +
+appid.smtp_flows: count of smtp flows discovered by appid
+bool http_inspect.normalize_utf = true: normalize charset utf encodings +
+bit_list http_inspect.bad_characters: alert when any of specified bytes are present in URI after percent decoding { 255 }
+119:76 (http_inspect) Unsupported Transfer-Encoding or Content-Encoding used +
++119:77 (http_inspect) Unknown Transfer-Encoding or Content-Encoding used +
++119:78 (http_inspect) Multiple layers of compression encodings applied +
+Peg counts:
-string rpc.~app: application number +int rpc.~app: application number
-string rpc.~ver: version number or * for any +int rpc.ver: version number or * for any
-string rpc.~proc: procedure number or * for any +int rpc.proc: procedure number or * for any
What: output event over socket
Type: logger
Configuration:
+string alert_sfsocket.file: name of unix socket file +
++int alert_sfsocket.rules[].gid = 1: rule generator ID { 1: } +
++int alert_sfsocket.rules[].sid = 1: rule signature ID { 1: } +
+What: output event to syslog
Type: logger
+-A <mode> set alert mode: none, cmg, or alert_* +
++-B <mask> obfuscated IP addresses in alerts and packet dumps using CIDR mask +
+--bpf <filter options> are standard BPF options, as seen in TCPDump
---create-pidfile create PID file, even when not in Daemon mode +-c <conf> use this configuration
---daq <type> select packet acquisition module (default is pcap) +-C print out payloads with character data only (no hex) +
++--create-pidfile create PID file, even when not in Daemon mode
+--daq <type> select packet acquisition module (default is pcap) +
+--daq-var <name=value> specify extra DAQ configuration variable
+-d dump the Application Layer +
+--dirty-pig don’t flush packets on shutdown
+-D run Snort in background (daemon) mode +
+--dump-builtin-rules [<module prefix>] output stub rules for selected modules
+-e display the second layer header info +
+--enable-inline-test enable Inline-Test Mode Operation
---help list command line options +-f turn off fflush() calls after binary log writes +
++-G <0xid> (same as --logid) (0:65535) +
++-g <gname> run snort gid as <gname> group (or gid) after initialization
+--help list command line options +
+--help-module <module> output description of given module
+-H make hash tables deterministic +
+--id-subdir create/use instance subdirectories in logdir instead of instance filename prefix
+-i <iface>… list of interfaces +
++-j <port> to listen for telnet connections +
++-k <mode> checksum mode; default is all (all|noip|notcp|noudp|noicmp|none) +
+--list-buffers output available inspection buffers
+-l <logdir> log to this directory instead of current directory +
++-L <mode> logging mode (none, dump, pcap, or log_*) +
+--logid <0xid> log Identifier to uniquely id events for multiple snorts (same as -G) (0:65535)
+-M log messages to syslog (not alerts) +
++-m <umask> set umask = <umask> (0:) +
++-n <count> stop after count packets (0:) +
+--nolock-pidfile do not try to lock Snort PID file
+-O obfuscate the logged IP addresses +
++-? <option prefix> output matching command line option quick help (same as --help-options) (optional) +
+--pause wait for resume/quit command before processing packets/terminating
+-Q enable inline mode operation +
++-q quiet mode - Don’t show banner and status report +
++-r <pcap>… (same as --pcap-list) +
++-R <rules> include this rules file in the default policy +
+--rule <rules> to be added to configuration; may be repeated
---stdin-rules read rules from stdin until EOF or a line starting with END is read +-s <snap> (same as --snaplen); default is 1514 (68:65535)
---treat-drop-as-alert converts drop, sdrop, and reject rules into alert rules during startup +--stdin-rules read rules from stdin until EOF or a line starting with END is read
---treat-drop-as-ignore use drop, sdrop, and reject rules to ignore session traffic when not inline +-S <x=v> set config variable x equal to value v
---version show version number (same as -V) +-t <dir> chroots process to <dir> after initialization
---warn-all enable all warnings +--treat-drop-as-alert converts drop, sdrop, and reject rules into alert rules during startup
---warn-conf warn about configuration issues +--treat-drop-as-ignore use drop, sdrop, and reject rules to ignore session traffic when not inline
---warn-daq warn about DAQ issues, usually related to mode +-T test and report on the current Snort configuration
---warn-flowbits warn about flowbits that are checked but not set and vice-versa +-u <uname> run snort as <uname> or <uid> after initialization
---warn-hosts warn about host table issues +-U use UTC for timestamps
---warn-plugins warn about issues that prevent plugins from loading +-v be verbose
---warn-rules warn about duplicate rules and rule parsing issues +--version show version number (same as -V)
---warn-scripts warn about issues discovered while processing Lua scripts +-V (same as --version)
---warn-symbols warn about unknown symbols in your Lua config +--warn-all enable all warnings
---warn-vars warn about variable definition and usage issues +--warn-conf warn about configuration issues
---x2c output ASCII char for given hex (see also --c2x) +--warn-daq warn about DAQ issues, usually related to mode
---x2s output ASCII string for given byte code (see also --x2c) +--warn-flowbits warn about flowbits that are checked but not set and vice-versa
--? <option prefix> output matching command line option quick help (same as --help-options) (optional) +--warn-hosts warn about host table issues
--A <mode> set alert mode: none, cmg, or alert_* +--warn-plugins warn about issues that prevent plugins from loading
--B <mask> obfuscated IP addresses in alerts and packet dumps using CIDR mask +--warn-rules warn about duplicate rules and rule parsing issues
--C print out payloads with character data only (no hex) +--warn-scripts warn about issues discovered while processing Lua scripts
--D run Snort in background (daemon) mode +--warn-symbols warn about unknown symbols in your Lua config
--G <0xid> (same as --logid) (0:65535) +--warn-vars warn about variable definition and usage issues
--H make hash tables deterministic +-w dump 802.11 management and control frames
--L <mode> logging mode (none, dump, pcap, or log_*) +-W lists available interfaces
--M log messages to syslog (not alerts) +--x2c output ASCII char for given hex (see also --c2x)
--O obfuscate the logged IP addresses +--x2s output ASCII string for given byte code (see also --x2c)
--Q enable inline mode operation +-X dump the raw packet data starting at the link layer
--R <rules> include this rules file in the default policy +-x same as --pedantic
--S <x=v> set config variable x equal to value v +-y include year in timestamp in the alert and log files
--T test and report on the current Snort configuration -
---U use UTC for timestamps -
---V (same as --version) -
---W lists available interfaces -
---X dump the raw packet data starting at the link layer -
---c <conf> use this configuration -
---d dump the Application Layer -
---e display the second layer header info -
---f turn off fflush() calls after binary log writes -
---g <gname> run snort gid as <gname> group (or gid) after initialization -
---i <iface>… list of interfaces -
---j <port> to listen for telnet connections -
---k <mode> checksum mode; default is all (all|noip|notcp|noudp|noicmp|none) -
---l <logdir> log to this directory instead of current directory -
---m <umask> set umask = <umask> (0:) -
---n <count> stop after count packets (0:) -
---q quiet mode - Don’t show banner and status report -
---r <pcap>… (same as --pcap-list) -
---s <snap> (same as --snaplen); default is 1514 (68:65535) -
---t <dir> chroots process to <dir> after initialization -
---u <uname> run snort as <uname> or <uid> after initialization -
---v be verbose -
---w dump 802.11 management and control frames -
---x same as --pedantic -
---y include year in timestamp in the alert and log files -
---z <count> maximum number of packet threads (same as --max-packet-threads); 0 gets the number of CPU cores reported by the system; default is 1 (0:) +-z <count> maximum number of packet threads (same as --max-packet-threads); 0 gets the number of CPU cores reported by the system; default is 1 (0:)
-enum alert_syslog.facility = auth: part of priority applied to each message { auth | authpriv | daemon | user | local0 | local1 | local2 | local3 | local4 | local5 | local6 | local7 } +bool alerts.alert_with_interface_name = false: include interface in alert info (fast, full, or syslog only)
-enum alert_syslog.level = info: part of priority applied to each message { emerg | alert | crit | err | warning | notice | info | debug } +bool alerts.default_rule_state = true: enable or disable ips rules
-multi alert_syslog.options: used to open the syslog connection { cons | ndelay | perror | pid } +int alerts.detection_filter_memcap = 1048576: set available memory for filters { 0: }
-bool alerts.alert_with_interface_name = false: include interface in alert info (fast, full, or syslog only) +int alerts.event_filter_memcap = 1048576: set available memory for filters { 0: }
-bool alerts.default_rule_state = true: enable or disable ips rules +string alert_sfsocket.file: name of unix socket file
-int alerts.detection_filter_memcap = 1048576: set available memory for filters { 0: } +int alert_sfsocket.rules[].gid = 1: rule generator ID { 1: }
-int alerts.event_filter_memcap = 1048576: set available memory for filters { 0: } +int alert_sfsocket.rules[].sid = 1: rule signature ID { 1: }
+enum alert_syslog.facility = auth: part of priority applied to each message { auth | authpriv | daemon | user | local0 | local1 | local2 | local3 | local4 | local5 | local6 | local7 } +
++enum alert_syslog.level = info: part of priority applied to each message { emerg | alert | crit | err | warning | notice | info | debug } +
++multi alert_syslog.options: used to open the syslog connection { cons | ndelay | perror | pid } +
+string appid.app_detector_dir: directory to load AppId detectors from
-string appid.thirdparty_appid_dir: directory to load thirdparty AppId detectors from +string appids.~: appid option
-string appids.~: appid option +string appid.thirdparty_appid_dir: directory to load thirdparty AppId detectors from
+int byte_extract.~count: number of bytes to pick up from the buffer { 1:10 } +
+implied byte_extract.dce: dcerpc2 determines endianness
-implied byte_extract.oct: convert from octal string +string byte_extract.~name: name of the variable that will be used in other rule options
-implied byte_extract.relative: offset from cursor instead of start of buffer +implied byte_extract.oct: convert from octal string
-implied byte_extract.string: convert from string +int byte_extract.~offset: number of bytes into the buffer to start processing { -65535:65535 }
-int byte_extract.~count: number of bytes to pick up from the buffer { 1:10 } +implied byte_extract.relative: offset from cursor instead of start of buffer
-string byte_extract.~name: name of the variable that will be used in other rule options +implied byte_extract.string: convert from string
-int byte_extract.~offset: number of bytes into the buffer to start processing { -65535:65535 } +int byte_jump.align = 0: round the number of converted bytes up to the next 2- or 4-byte boundary { 0:4 }
-int byte_jump.align = 0: round the number of converted bytes up to the next 2- or 4-byte boundary { 0:4 } +implied byte_jump.big: big endian
-implied byte_jump.big: big endian +int byte_jump.~count: number of bytes to pick up from the buffer { 1:10 }
+string byte_jump.~offset: variable name or number of bytes into the buffer to start processing +
+int byte_jump.post_offset = 0: also skip forward or backwards (positive of negative value) this number of bytes { -65535:65535 }
-int byte_jump.~count: number of bytes to pick up from the buffer { 1:10 } +implied byte_test.big: big endian
-string byte_jump.~offset: variable name or number of bytes into the buffer to start processing +string byte_test.~compare: variable name or value to test the converted result against
-implied byte_test.big: big endian +int byte_test.~count: number of bytes to pick up from the buffer { 1:10 }
-implied byte_test.relative: offset from cursor instead of start of buffer -
--implied byte_test.string: convert from string -
--string byte_test.~compare: variable name or value to test the converted result against +string byte_test.~offset: variable name or number of bytes into the payload to start processing
-int byte_test.~count: number of bytes to pick up from the buffer { 1:10 } +string byte_test.~operator: variable name or number of bytes into the buffer to start processing
-string byte_test.~offset: variable name or number of bytes into the payload to start processing +implied byte_test.relative: offset from cursor instead of start of buffer
-string byte_test.~operator: variable name or number of bytes into the buffer to start processing +implied byte_test.string: convert from string
-string content.depth: var or maximum number of bytes to search from beginning of buffer +string content.~data: data to match
-string content.distance: var or number of bytes from cursor to start search +string content.depth: var or maximum number of bytes to search from beginning of buffer
-implied content.fast_pattern: use this content in the fast pattern matcher instead of the content selected by default +string content.distance: var or number of bytes from cursor to start search
-implied content.nocase: case insensitive match +implied content.fast_pattern: use this content in the fast pattern matcher instead of the content selected by default
-string content.offset: var or number of bytes from start of buffer to start search +implied content.nocase: case insensitive match
-string content.within: var or maximum number of bytes to search from cursor +string content.offset: var or number of bytes from start of buffer to start search
-string content.~data: data to match +string content.within: var or maximum number of bytes to search from cursor
-bool detection.pcre_enable = true: disable pcre pattern matching +int detection_filter.count: hits in interval before allowing the rule to fire { 1: }
-int detection.pcre_match_limit = 1500: limit pcre backtracking, -1 = max, 0 = off { -1:1000000 } +int detection_filter.seconds: length of interval to count hits { 1: }
-int detection.pcre_match_limit_recursion = 1500: limit pcre stack consumption, -1 = max, 0 = off { -1:10000 } +enum detection_filter.track: track hits by source or destination IP address { by_src | by_dst }
-int detection_filter.count: hits in interval before allowing the rule to fire { 1: } +bool detection.pcre_enable = true: disable pcre pattern matching
-int detection_filter.seconds: length of interval to count hits { 1: } +int detection.pcre_match_limit = 1500: limit pcre backtracking, -1 = max, 0 = off { -1:1000000 }
-enum detection_filter.track: track hits by source or destination IP address { by_src | by_dst } +int detection.pcre_match_limit_recursion = 1500: limit pcre stack consumption, -1 = max, 0 = off { -1:10000 }
+string flowbits.~arg1: bits or group +
++string flowbits.~arg2: group if arg1 is bits +
++string flowbits.~command: set|reset|isset|etc. +
+implied flow.established: match only during data transfer phase
-string flowbits.~arg1: bits or group +string fragbits.~flags: these flags are tested
-string flowbits.~arg2: group if arg1 is bits +string fragoffset.~range: check if ip fragment offset value is value | min<>max | <max | >min
-string flowbits.~command: set|reset|isset|etc. +bool ftp_client.bounce = false: check for bounces
-string fragbits.~flags: these flags are tested +addr ftp_client.bounce_to[].address = 1.0.0.0/32: allowed ip address in CIDR format
-string fragoffset.~range: check if ip fragment offset value is value | min<>max | <max | >min -
--bool ftp_client.bounce = false: check for bounces -
--addr ftp_client.bounce_to[].address = 1.0.0.0/32: allowed ip address in CIDR format -
--port ftp_client.bounce_to[].last_port: optional allowed range from port to last_port inclusive { 0: } +port ftp_client.bounce_to[].last_port: optional allowed range from port to last_port inclusive { 0: }
-enum host_tracker[].frag_policy: defragmentation policy { first | linux | bsd | bsd_right | last | windows | solaris } +enum hosts[].frag_policy: defragmentation policy { first | linux | bsd | bsd_right | last | windows | solaris }
-addr host_tracker[].ip = 0.0.0.0/32: hosts address / cidr +addr hosts[].ip = 0.0.0.0/32: hosts address / cidr
-string host_tracker[].services[].name: service identifier +string hosts[].services[].name: service identifier
-port host_tracker[].services[].port: port number +port hosts[].services[].port: port number
-enum host_tracker[].services[].proto = tcp: ip protocol { tcp | udp } +enum hosts[].services[].proto = tcp: ip protocol { tcp | udp }
-enum host_tracker[].tcp_policy: tcp reassembly policy { first | last | linux | old_linux | bsd | macos | solaris | irix | hpux11 | hpux10 | windows | win_2003 | vista | proxy } +enum hosts[].tcp_policy: tcp reassembly policy { first | last | linux | old_linux | bsd | macos | solaris | irix | hpux11 | hpux10 | windows | win_2003 | vista | proxy }
-enum hosts[].frag_policy: defragmentation policy { first | linux | bsd | bsd_right | last | windows | solaris } +enum host_tracker[].frag_policy: defragmentation policy { first | linux | bsd | bsd_right | last | windows | solaris }
-addr hosts[].ip = 0.0.0.0/32: hosts address / cidr +addr host_tracker[].ip = 0.0.0.0/32: hosts address / cidr
-string hosts[].services[].name: service identifier +string host_tracker[].services[].name: service identifier
-port hosts[].services[].port: port number +port host_tracker[].services[].port: port number
-enum hosts[].services[].proto = tcp: ip protocol { tcp | udp } +enum host_tracker[].services[].proto = tcp: ip protocol { tcp | udp }
-enum hosts[].tcp_policy: tcp reassembly policy { first | last | linux | old_linux | bsd | macos | solaris | irix | hpux11 | hpux10 | windows | win_2003 | vista | proxy } +enum host_tracker[].tcp_policy: tcp reassembly policy { first | last | linux | old_linux | bsd | macos | solaris | irix | hpux11 | hpux10 | windows | win_2003 | vista | proxy }
-bool http_inspect.iis_unicode = false: use IIS unicode code point mapping to normalize characters +int http_inspect.iis_unicode_code_page = 1252: code page to use from the IIS unicode map file { 0:65535 }
-int http_inspect.iis_unicode_code_page = 1252: code page to use from the IIS unicode map file { 0:65535 } +bool http_inspect.iis_unicode = false: use IIS unicode code point mapping to normalize characters
+bool http_inspect.normalize_utf = true: normalize charset utf encodings +
+int http_inspect.oversize_dir_length = 300: maximum length for URL directory { 1:65535 }
-bool http_inspect.utf8 = true: normalize 2-byte and 3-byte UTF-8 characters to a single byte +bool http_inspect.utf8_bare_byte = false: when doing UTF-8 character normalization include bytes that were not percent encoded
-bool http_inspect.utf8_bare_byte = false: when doing UTF-8 character normalization include bytes that were not percent encoded +bool http_inspect.utf8 = true: normalize 2-byte and 3-byte UTF-8 characters to a single byte
-string ip_proto.~proto: [!|>|<] name or number +select ipopts.~opt: output format { rr|eol|nop|ts|sec|esec|lsrr|lsrre|ssrr|satid|any }
-select ipopts.~opt: output format { rr|eol|nop|ts|sec|esec|lsrr|lsrre|ssrr|satid|any } +string ip_proto.~proto: [!|>|<] name or number
-implied isdataat.relative: offset from cursor instead of start of buffer +string isdataat.~length: num | !num
-string isdataat.~length: num | !num +implied isdataat.relative: offset from cursor instead of start of buffer
-int md5.length: number of octets in plain text { 1:65535 } +string md5.~hash: data to match
-string md5.offset: var or number of bytes from start of buffer to start search +int md5.length: number of octets in plain text { 1:65535 }
-implied md5.relative = false: offset from cursor instead of start of buffer +string md5.offset: var or number of bytes from start of buffer to start search
-string md5.~hash: data to match +implied md5.relative = false: offset from cursor instead of start of buffer
-bool output.log_ipv6_extra_data = false: log IPv6 source and destination addresses as unified2 extra data records +string output.logdir = .: where to put log files (same as -l)
-string output.logdir = .: where to put log files (same as -l) +bool output.log_ipv6_extra_data = false: log IPv6 source and destination addresses as unified2 extra data records
+int port_scan_global.memcap = 1048576: maximum tracker memory { 1: } +
+string port_scan.ignore_scanned: list of CIDRs with optional ports to ignore if the destination of scan alerts
-int port_scan_global.memcap = 1048576: maximum tracker memory { 1: } -
-int priority.~: relative severity level; 1 is highest priority { 1: }
-implied regex.relative: start search from end of last match instead of start of buffer +string regex.~re: hyperscan regular expression
-string regex.~re: hyperscan regular expression +implied regex.relative: start search from end of last match instead of start of buffer
-enum reputation.white = unblack: specify the meaning of whitelist { unblack|trust } +string reputation.whitelist: whitelist file name with ip lists
-string reputation.whitelist: whitelist file name with ip lists +enum reputation.white = unblack: specify the meaning of whitelist { unblack|trust }
-string rpc.~app: application number +int rpc.~app: application number
-string rpc.~proc: procedure number or * for any +int rpc.proc: procedure number or * for any
-string rpc.~ver: version number or * for any +int rpc.ver: version number or * for any
-int sd_pattern.threshold: number of matches before alerting { 1 } +string sd_pattern.~pattern: The pattern to search for
-string sd_pattern.~pattern: The pattern to search for +int sd_pattern.threshold: number of matches before alerting { 1 }
+string sha256.~hash: data to match +
+int sha256.length: number of octets in plain text { 1:65535 }
-string sha256.~hash: data to match +string sha512.~hash: data to match
-string sha512.~hash: data to match +string side_channel.connector: connector handle
-int sid.~: signature id { 1: } +string side_channel.connectors[].connector: connector handle
-string side_channel.connectors[].connector: connector handle +bit_list side_channel.ports: side channel message port list { 65535 }
-bit_list side_channel.ports: side channel message port list { 65535 } +int sid.~: signature id { 1: }
-string sip.methods = invite cancel ack bye register options: list of methods to check in sip messages +string sip_method.*method: sip method
-string sip_method.*method: sip method +string sip.methods = invite cancel ack bye register options: list of methods to check in sip messages
-enum smtp.normalize = none: turns on/off normalization { none | cmds | all } +string smtp.normalize_cmds: list of commands to normalize
-string smtp.normalize_cmds: list of commands to normalize +enum smtp.normalize = none: turns on/off normalization { none | cmds | all }
-string snort.--bpf: <filter options> are standard BPF options, as seen in TCPDump +string snort.-A: <mode> set alert mode: none, cmg, or alert_*
-string snort.--c2x: output hex for given char (see also --x2c) +addr snort.-B = 255.255.255.255/32: <mask> obfuscated IP addresses in alerts and packet dumps using CIDR mask
-string snort.--catch-test: comma separated list of cat unit test tags or all +string snort.--bpf: <filter options> are standard BPF options, as seen in TCPDump
-implied snort.--create-pidfile: create PID file, even when not in Daemon mode +string snort.--c2x: output hex for given char (see also --x2c)
-string snort.--daq: <type> select packet acquisition module (default is pcap) +string snort.--catch-test: comma separated list of cat unit test tags or all
-string snort.--daq-dir: <dir> tell snort where to find desired DAQ +string snort.-c: <conf> use this configuration
-implied snort.--daq-list: list packet acquisition modules available in optional dir, default is static modules only +implied snort.-C: print out payloads with character data only (no hex)
-string snort.--daq-var: <name=value> specify extra DAQ configuration variable +implied snort.--create-pidfile: create PID file, even when not in Daemon mode
-implied snort.--dirty-pig: don’t flush packets on shutdown +string snort.--daq-dir: <dir> tell snort where to find desired DAQ
-implied snort.--dump-builtin-rules: [<module prefix>] output stub rules for selected modules +implied snort.--daq-list: list packet acquisition modules available in optional dir, default is static modules only
-string snort.--dump-defaults: [<module prefix>] output module defaults in Lua format { (optional) } +string snort.--daq: <type> select packet acquisition module (default is pcap)
-implied snort.--dump-dynamic-rules: output stub rules for all loaded rules libraries +string snort.--daq-var: <name=value> specify extra DAQ configuration variable
-implied snort.--dump-version: output the version, the whole version, and only the version +implied snort.-d: dump the Application Layer
-implied snort.--enable-inline-test: enable Inline-Test Mode Operation +implied snort.--dirty-pig: don’t flush packets on shutdown
-implied snort.--help: list command line options +implied snort.-D: run Snort in background (daemon) mode
-string snort.--help-commands: [<module prefix>] output matching commands { (optional) } +implied snort.--dump-builtin-rules: [<module prefix>] output stub rules for selected modules
-string snort.--help-config: [<module prefix>] output matching config options { (optional) } +string snort.--dump-defaults: [<module prefix>] output module defaults in Lua format { (optional) }
-string snort.--help-counts: [<module prefix>] output matching peg counts { (optional) } +implied snort.--dump-dynamic-rules: output stub rules for all loaded rules libraries
-string snort.--help-module: <module> output description of given module +implied snort.--dump-version: output the version, the whole version, and only the version
-implied snort.--help-modules: list all available modules with brief help +implied snort.-e: display the second layer header info
-string snort.--help-options: <option prefix> output matching command line option quick help (same as -?) { (optional) } +implied snort.--enable-inline-test: enable Inline-Test Mode Operation
-implied snort.--help-plugins: list all available plugins with brief help +implied snort.-f: turn off fflush() calls after binary log writes
-implied snort.--help-signals: dump available control signals +int snort.-G: <0xid> (same as --logid) { 0:65535 }
-implied snort.--id-subdir: create/use instance subdirectories in logdir instead of instance filename prefix +string snort.-g: <gname> run snort gid as <gname> group (or gid) after initialization
-implied snort.--id-zero: use id prefix / subdirectory even with one packet thread +string snort.--help-commands: [<module prefix>] output matching commands { (optional) }
-implied snort.--list-buffers: output available inspection buffers +string snort.--help-config: [<module prefix>] output matching config options { (optional) }
-string snort.--list-builtin: <module prefix> output matching builtin rules { (optional) } +string snort.--help-counts: [<module prefix>] output matching peg counts { (optional) }
-string snort.--list-gids: [<module prefix>] output matching generators { (optional) } +implied snort.--help: list command line options
-string snort.--list-modules: [<module type>] list all known modules of given type { (optional) } +string snort.--help-module: <module> output description of given module
-implied snort.--list-plugins: list all known plugins +implied snort.--help-modules: list all available modules with brief help
-int snort.--logid: <0xid> log Identifier to uniquely id events for multiple snorts (same as -G) { 0:65535 } +string snort.--help-options: <option prefix> output matching command line option quick help (same as -?) { (optional) }
-string snort.--lua: <chunk> extend/override conf with chunk; may be repeated +implied snort.--help-plugins: list all available plugins with brief help
-implied snort.--markup: output help in asciidoc compatible format +implied snort.--help-signals: dump available control signals
-int snort.--max-packet-threads = 1: <count> configure maximum number of packet threads (same as -z) { 0: } +implied snort.-H: make hash tables deterministic
-implied snort.--nolock-pidfile: do not try to lock Snort PID file +implied snort.--id-subdir: create/use instance subdirectories in logdir instead of instance filename prefix
-implied snort.--nostamps: don’t include timestamps in log file names +implied snort.--id-zero: use id prefix / subdirectory even with one packet thread
-implied snort.--pause: wait for resume/quit command before processing packets/terminating +string snort.-i: <iface>… list of interfaces
-string snort.--pcap-dir: <dir> a directory to recurse to look for pcaps - read mode is implied +port snort.-j: <port> to listen for telnet connections
-string snort.--pcap-file: <file> file that contains a list of pcaps to read - read mode is implied +enum snort.-k = all: <mode> checksum mode; default is all { all|noip|notcp|noudp|noicmp|none }
-string snort.--pcap-filter: <filter> filter to apply when getting pcaps from file or directory +implied snort.--list-buffers: output available inspection buffers
-string snort.--pcap-list: <list> a space separated list of pcaps to read - read mode is implied +string snort.--list-builtin: <module prefix> output matching builtin rules { (optional) }
-int snort.--pcap-loop: <count> read all pcaps <count> times; 0 will read until Snort is terminated { -1: } +string snort.--list-gids: [<module prefix>] output matching generators { (optional) }
-implied snort.--pcap-no-filter: reset to use no filter when getting pcaps from file or directory +string snort.--list-modules: [<module type>] list all known modules of given type { (optional) }
-implied snort.--pcap-reload: if reading multiple pcaps, reload snort config between pcaps +implied snort.--list-plugins: list all known plugins
-implied snort.--pcap-show: print a line saying what pcap is currently being read +string snort.-l: <logdir> log to this directory instead of current directory
-implied snort.--pedantic: warnings are fatal +string snort.-L: <mode> logging mode (none, dump, pcap, or log_*)
-implied snort.--piglet: enable piglet test harness mode +int snort.--logid: <0xid> log Identifier to uniquely id events for multiple snorts (same as -G) { 0:65535 }
-string snort.--plugin-path: <path> where to find plugins +string snort.--lua: <chunk> extend/override conf with chunk; may be repeated
-implied snort.--process-all-events: process all action groups +implied snort.--markup: output help in asciidoc compatible format
-string snort.--rule: <rules> to be added to configuration; may be repeated +int snort.--max-packet-threads = 1: <count> configure maximum number of packet threads (same as -z) { 0: }
-implied snort.--rule-to-hex: output so rule header to stdout for text rule on stdin +implied snort.-M: log messages to syslog (not alerts)
-implied snort.--rule-to-text: output plain so rule header to stdout for text rule on stdin +int snort.-m: <umask> set umask = <umask> { 0: }
-string snort.--run-prefix: <pfx> prepend this to each output file +int snort.-n: <count> stop after count packets { 0: }
-string snort.--script-path: <path> to a luajit script or directory containing luajit scripts +implied snort.--nolock-pidfile: do not try to lock Snort PID file
-implied snort.--shell: enable the interactive command line +implied snort.--nostamps: don’t include timestamps in log file names
-implied snort.--show-plugins: list module and plugin versions +implied snort.-O: obfuscate the logged IP addresses
-int snort.--skip: <n> skip 1st n packets { 0: } +string snort.-?: <option prefix> output matching command line option quick help (same as --help-options) { (optional) }
-int snort.--snaplen = 1514: <snap> set snaplen of packet (same as -s) { 68:65535 } +implied snort.--pause: wait for resume/quit command before processing packets/terminating
-implied snort.--stdin-rules: read rules from stdin until EOF or a line starting with END is read +string snort.--pcap-dir: <dir> a directory to recurse to look for pcaps - read mode is implied
-implied snort.--treat-drop-as-alert: converts drop, sdrop, and reject rules into alert rules during startup +string snort.--pcap-file: <file> file that contains a list of pcaps to read - read mode is implied
-implied snort.--treat-drop-as-ignore: use drop, sdrop, and reject rules to ignore session traffic when not inline +string snort.--pcap-filter: <filter> filter to apply when getting pcaps from file or directory
-implied snort.--version: show version number (same as -V) +string snort.--pcap-list: <list> a space separated list of pcaps to read - read mode is implied
-implied snort.--warn-all: enable all warnings +int snort.--pcap-loop: <count> read all pcaps <count> times; 0 will read until Snort is terminated { -1: }
-implied snort.--warn-conf: warn about configuration issues +implied snort.--pcap-no-filter: reset to use no filter when getting pcaps from file or directory
-implied snort.--warn-daq: warn about DAQ issues, usually related to mode +implied snort.--pcap-reload: if reading multiple pcaps, reload snort config between pcaps
-implied snort.--warn-flowbits: warn about flowbits that are checked but not set and vice-versa +implied snort.--pcap-show: print a line saying what pcap is currently being read
-implied snort.--warn-hosts: warn about host table issues +implied snort.--pedantic: warnings are fatal
-implied snort.--warn-plugins: warn about issues that prevent plugins from loading +implied snort.--piglet: enable piglet test harness mode
-implied snort.--warn-rules: warn about duplicate rules and rule parsing issues +string snort.--plugin-path: <path> where to find plugins
-implied snort.--warn-scripts: warn about issues discovered while processing Lua scripts +implied snort.--process-all-events: process all action groups
-implied snort.--warn-symbols: warn about unknown symbols in your Lua config +implied snort.-Q: enable inline mode operation
-implied snort.--warn-vars: warn about variable definition and usage issues +implied snort.-q: quiet mode - Don’t show banner and status report
-int snort.--x2c: output ASCII char for given hex (see also --c2x) +string snort.-r: <pcap>… (same as --pcap-list)
-string snort.--x2s: output ASCII string for given byte code (see also --x2c) +string snort.-R: <rules> include this rules file in the default policy
-string snort.-?: <option prefix> output matching command line option quick help (same as --help-options) { (optional) } +string snort.--rule: <rules> to be added to configuration; may be repeated
-string snort.-A: <mode> set alert mode: none, cmg, or alert_* +implied snort.--rule-to-hex: output so rule header to stdout for text rule on stdin
-addr snort.-B = 255.255.255.255/32: <mask> obfuscated IP addresses in alerts and packet dumps using CIDR mask +implied snort.--rule-to-text: output plain so rule header to stdout for text rule on stdin
-implied snort.-C: print out payloads with character data only (no hex) +string snort.--run-prefix: <pfx> prepend this to each output file
-implied snort.-D: run Snort in background (daemon) mode +int snort.-s = 1514: <snap> (same as --snaplen); default is 1514 { 68:65535 }
-int snort.-G: <0xid> (same as --logid) { 0:65535 } +string snort.--script-path: <path> to a luajit script or directory containing luajit scripts
-implied snort.-H: make hash tables deterministic +implied snort.--shell: enable the interactive command line
-string snort.-L: <mode> logging mode (none, dump, pcap, or log_*) +implied snort.--show-plugins: list module and plugin versions
-implied snort.-M: log messages to syslog (not alerts) +int snort.--skip: <n> skip 1st n packets { 0: }
-implied snort.-O: obfuscate the logged IP addresses +int snort.--snaplen = 1514: <snap> set snaplen of packet (same as -s) { 68:65535 }
-implied snort.-Q: enable inline mode operation +implied snort.--stdin-rules: read rules from stdin until EOF or a line starting with END is read
-string snort.-R: <rules> include this rules file in the default policy +string snort.-S: <x=v> set config variable x equal to value v
-string snort.-S: <x=v> set config variable x equal to value v +string snort.-t: <dir> chroots process to <dir> after initialization
-implied snort.-T: test and report on the current Snort configuration +implied snort.--treat-drop-as-alert: converts drop, sdrop, and reject rules into alert rules during startup
-implied snort.-U: use UTC for timestamps +implied snort.--treat-drop-as-ignore: use drop, sdrop, and reject rules to ignore session traffic when not inline
-implied snort.-V: (same as --version) +implied snort.-T: test and report on the current Snort configuration
-implied snort.-W: lists available interfaces +string snort.-u: <uname> run snort as <uname> or <uid> after initialization
-implied snort.-X: dump the raw packet data starting at the link layer +implied snort.-U: use UTC for timestamps
-string snort.-c: <conf> use this configuration +implied snort.-v: be verbose
-implied snort.-d: dump the Application Layer +implied snort.--version: show version number (same as -V)
-implied snort.-e: display the second layer header info +implied snort.-V: (same as --version)
-implied snort.-f: turn off fflush() calls after binary log writes +implied snort.--warn-all: enable all warnings
-string snort.-g: <gname> run snort gid as <gname> group (or gid) after initialization +implied snort.--warn-conf: warn about configuration issues
-string snort.-i: <iface>… list of interfaces +implied snort.--warn-daq: warn about DAQ issues, usually related to mode
-port snort.-j: <port> to listen for telnet connections +implied snort.--warn-flowbits: warn about flowbits that are checked but not set and vice-versa
-enum snort.-k = all: <mode> checksum mode; default is all { all|noip|notcp|noudp|noicmp|none } +implied snort.--warn-hosts: warn about host table issues
-string snort.-l: <logdir> log to this directory instead of current directory +implied snort.--warn-plugins: warn about issues that prevent plugins from loading
-int snort.-m: <umask> set umask = <umask> { 0: } +implied snort.--warn-rules: warn about duplicate rules and rule parsing issues
-int snort.-n: <count> stop after count packets { 0: } +implied snort.--warn-scripts: warn about issues discovered while processing Lua scripts
-implied snort.-q: quiet mode - Don’t show banner and status report +implied snort.--warn-symbols: warn about unknown symbols in your Lua config
-string snort.-r: <pcap>… (same as --pcap-list) +implied snort.--warn-vars: warn about variable definition and usage issues
-int snort.-s = 1514: <snap> (same as --snaplen); default is 1514 { 68:65535 } +implied snort.-w: dump 802.11 management and control frames
-string snort.-t: <dir> chroots process to <dir> after initialization +implied snort.-W: lists available interfaces
-string snort.-u: <uname> run snort as <uname> or <uid> after initialization +int snort.--x2c: output ASCII char for given hex (see also --c2x)
-implied snort.-v: be verbose +string snort.--x2s: output ASCII string for given byte code (see also --x2c)
-implied snort.-w: dump 802.11 management and control frames +implied snort.-X: dump the raw packet data starting at the link layer
-bool ssl.trust_servers = false: disables requirement that application (encrypted) data must be observed on both sides +implied ssl_state.client_hello: check for client hello
-implied ssl_state.!client_keyx: check for records that are not client keyx -
--implied ssl_state.!server_hello: check for records that are not server hello -
--implied ssl_state.!server_keyx: check for records that are not server keyx -
--implied ssl_state.!unknown: check for records that are not unknown -
--implied ssl_state.client_hello: check for client hello -
-implied ssl_state.client_keyx: check for client keyx
-implied ssl_state.server_hello: check for server hello -
--implied ssl_state.server_keyx: check for server keyx -
--implied ssl_state.unknown: check for unknown record -
--implied ssl_version.!sslv2: check for records that are not sslv2 -
--implied ssl_version.!sslv3: check for records that are not sslv3 -
--implied ssl_version.!tls1.0: check for records that are not tls1.0 -
--implied ssl_version.!tls1.1: check for records that are not tls1.1 -
--implied ssl_version.!tls1.2: check for records that are not tls1.2 +implied ssl_state.!client_keyx: check for records that are not client keyx
-implied ssl_version.sslv2: check for sslv2 +implied ssl_state.!server_hello: check for records that are not server hello
-implied ssl_version.sslv3: check for sslv3 +implied ssl_state.server_hello: check for server hello
-implied ssl_version.tls1.0: check for tls1.0 +implied ssl_state.!server_keyx: check for records that are not server keyx
-implied ssl_version.tls1.1: check for tls1.1 +implied ssl_state.server_keyx: check for server keyx
-implied ssl_version.tls1.2: check for tls1.2 +implied ssl_state.!unknown: check for records that are not unknown
-int stream.file_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +implied ssl_state.unknown: check for unknown record
-int stream.file_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +bool ssl.trust_servers = false: disables requirement that application (encrypted) data must be observed on both sides
-int stream.file_cache.max_sessions = 128: maximum simultaneous sessions tracked before pruning { 2: } +implied ssl_version.!sslv2: check for records that are not sslv2
-int stream.file_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +implied ssl_version.sslv2: check for sslv2
-int stream.icmp_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +implied ssl_version.!sslv3: check for records that are not sslv3
-int stream.icmp_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +implied ssl_version.sslv3: check for sslv3
-int stream.icmp_cache.max_sessions = 32768: maximum simultaneous sessions tracked before pruning { 2: } +implied ssl_version.!tls1.0: check for records that are not tls1.0
-int stream.icmp_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +implied ssl_version.tls1.0: check for tls1.0
-int stream.ip_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +implied ssl_version.!tls1.1: check for records that are not tls1.1
-int stream.ip_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +implied ssl_version.tls1.1: check for tls1.1
-int stream.ip_cache.max_sessions = 16384: maximum simultaneous sessions tracked before pruning { 2: } +implied ssl_version.!tls1.2: check for records that are not tls1.2
-int stream.ip_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +implied ssl_version.tls1.2: check for tls1.2
-int stream.tcp_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +int stream.file_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 }
-int stream.tcp_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +int stream.file_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: }
-int stream.tcp_cache.max_sessions = 131072: maximum simultaneous sessions tracked before pruning { 2: } +int stream.file_cache.max_sessions = 128: maximum simultaneous sessions tracked before pruning { 2: }
-int stream.tcp_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +int stream.file_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: }
-int stream.udp_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +bool stream_file.upload = false: indicate file transfer direction
-int stream.udp_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +int stream.icmp_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 }
-int stream.udp_cache.max_sessions = 65536: maximum simultaneous sessions tracked before pruning { 2: } +int stream.icmp_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: }
-int stream.udp_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +int stream.icmp_cache.max_sessions = 32768: maximum simultaneous sessions tracked before pruning { 2: }
-int stream.user_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +int stream.icmp_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: }
-int stream.user_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +int stream_icmp.session_timeout = 30: session tracking timeout { 1:86400 }
-int stream.user_cache.max_sessions = 1024: maximum simultaneous sessions tracked before pruning { 2: } +int stream.ip_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 }
-int stream.user_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +int stream.ip_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: }
-bool stream_file.upload = false: indicate file transfer direction +int stream.ip_cache.max_sessions = 16384: maximum simultaneous sessions tracked before pruning { 2: }
-int stream_icmp.session_timeout = 30: session tracking timeout { 1:86400 } +int stream.ip_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: }
+int stream.tcp_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +
++int stream.tcp_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +
++int stream.tcp_cache.max_sessions = 131072: maximum simultaneous sessions tracked before pruning { 2: } +
++int stream.tcp_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +
+int stream_tcp.flush_factor = 0: flush upon seeing a drop in segment size after given number of non-decreasing segments { 0: }
+int stream.udp_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +
++int stream.udp_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +
++int stream.udp_cache.max_sessions = 65536: maximum simultaneous sessions tracked before pruning { 2: } +
++int stream.udp_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +
+bool stream_udp.ignore_any_rules = false: process udp content rules w/o ports only if rules with ports are present
+int stream.user_cache.cleanup_pct = 5: percent of cache to clean when max_sessions is reached { 1:100 } +
++int stream.user_cache.idle_timeout = 180: maximum inactive time before retiring session tracker { 1: } +
++int stream.user_cache.max_sessions = 1024: maximum simultaneous sessions tracked before pruning { 2: } +
++int stream.user_cache.pruning_timeout = 30: minimum inactive time before being eligible for pruning { 1: } +
+int stream_user.session_timeout = 30: session tracking timeout { 1:86400 }
+enum tag.~: log all packets in session or all packets to or from host { session|host_src|host_dst } +
+int tag.packets: tag this many packets { 1: }
-enum tag.~: log all packets in session or all packets to or from host { session|host_src|host_dst } +string tcp_connector.address: address +
++port tcp_connector.base_port: base port number +
++string tcp_connector.connector: connector name +
++enum tcp_connector.setup: stream establishment { call | answer }
+appid.rsync_flows: count of rsync service flows discovered by appid +
+appid.smtp_flows: count of smtp flows discovered by appid
+dce_smb.aborted sessions: total aborted sessions +
+dce_smb.Alter context responses: total connection-oriented alter context responses
+dce_smb.bad autodetects: total bad autodetects +
+dce_smb.Bind acks: total connection-oriented binds acks
+dce_smb.events: total events +
+dce_smb.Faults: total connection-oriented faults
-dce_smb.MS RPC/HTTP PDUs: total connection-oriented MS requests to send RPC over HTTP +dce_smb.Max outstanding requests: total smb maximum outstanding requests
-dce_smb.Max outstanding requests: total smb maximum outstanding requests +dce_smb.MS RPC/HTTP PDUs: total connection-oriented MS requests to send RPC over HTTP
-dce_smb.PDUs: total connection-oriented PDUs +dce_smb.Packets: total smb packets
-dce_smb.Packets: total smb packets +dce_smb.PDUs: total connection-oriented PDUs
-dce_smb.aborted sessions: total aborted sessions -
--dce_smb.bad autodetects: total bad autodetects +dce_tcp.aborted sessions: total aborted sessions
-dce_smb.events: total events +dce_tcp.Alter context responses: total connection-oriented alter context responses
-dce_tcp.Alter context responses: total connection-oriented alter context responses +dce_tcp.Alter contexts: total connection-oriented alter contexts
-dce_tcp.Alter contexts: total connection-oriented alter contexts +dce_tcp.Auth3s: total connection-oriented auth3s
-dce_tcp.Auth3s: total connection-oriented auth3s +dce_tcp.bad autodetects: total bad autodetects
+dce_tcp.events: total events +
+dce_tcp.Faults: total connection-oriented faults
-dce_tcp.aborted sessions: total aborted sessions -
--dce_tcp.bad autodetects: total bad autodetects -
--dce_tcp.events: total events -
-dce_tcp.tcp packets: total tcp packets
-detection.log limit: events queued but not logged +detection.logged: logged packets
-detection.logged: logged packets +detection.log limit: events queued but not logged
-http_inspect.CONNECT requests: CONNECT requests inspected +http_inspect.chunked: chunked message bodies
-http_inspect.DELETE requests: DELETE requests inspected +http_inspect.CONNECT requests: CONNECT requests inspected
-http_inspect.GET requests: GET requests inspected +http_inspect.DELETE requests: DELETE requests inspected
-http_inspect.HEAD requests: HEAD requests inspected +http_inspect.flows: HTTP connections inspected
-http_inspect.OPTIONS requests: OPTIONS requests inspected +http_inspect.GET requests: GET requests inspected
-http_inspect.POST requests: POST requests inspected +http_inspect.HEAD requests: HEAD requests inspected
-http_inspect.PUT requests: PUT requests inspected +http_inspect.inspections: total message sections inspected
-http_inspect.TRACE requests: TRACE requests inspected +http_inspect.OPTIONS requests: OPTIONS requests inspected
-http_inspect.URI coding: URIs with character coding problems +http_inspect.other requests: other request methods inspected
-http_inspect.URI normalizations: URIs needing to be normalization +http_inspect.POST requests: POST requests inspected
-http_inspect.URI path: URIs with path problems +http_inspect.PUT requests: PUT requests inspected
-http_inspect.chunked: chunked message bodies +http_inspect.reassembles: TCP segments combined into HTTP messages
-http_inspect.flows: HTTP connections inspected +http_inspect.request bodies: POST, PUT, and other requests with message bodies
-http_inspect.inspections: total message sections inspected +http_inspect.requests: HTTP request messages inspected
-http_inspect.other requests: other request methods inspected +http_inspect.responses: HTTP response messages inspected
-http_inspect.reassembles: TCP segments combined into HTTP messages +http_inspect.scans: TCP segments scanned looking for HTTP messages
-http_inspect.request bodies: POST, PUT, and other requests with message bodies +http_inspect.TRACE requests: TRACE requests inspected
-http_inspect.requests: HTTP request messages inspected +http_inspect.URI coding: URIs with character coding problems
-http_inspect.responses: HTTP response messages inspected +http_inspect.URI normalizations: URIs needing to be normalization
-http_inspect.scans: TCP segments scanned looking for HTTP messages +http_inspect.URI path: URIs with path problems
-stream.icmp excess prunes: icmp sessions pruned due to excess +stream_icmp.created: icmp session trackers created
-stream.icmp flows: total icmp sessions +stream.icmp excess prunes: icmp sessions pruned due to excess
-stream.icmp memcap prunes: icmp sessions pruned due to memcap +stream.icmp flows: total icmp sessions
-stream.icmp preemptive prunes: icmp sessions pruned during preemptive pruning +stream_icmp.max: max icmp sessions
-stream.icmp timeout prunes: icmp sessions pruned due to timeout +stream.icmp memcap prunes: icmp sessions pruned due to memcap
-stream.icmp total prunes: total icmp sessions pruned +stream.icmp preemptive prunes: icmp sessions pruned during preemptive pruning
-stream.icmp uni prunes: icmp uni sessions pruned +stream_icmp.prunes: icmp session prunes
-stream.icmp user prunes: icmp sessions pruned for other reasons +stream_icmp.released: icmp session trackers released
-stream.ip excess prunes: ip sessions pruned due to excess +stream_icmp.sessions: total icmp sessions
-stream.ip flows: total ip sessions +stream.icmp timeout prunes: icmp sessions pruned due to timeout
-stream.ip memcap prunes: ip sessions pruned due to memcap +stream_icmp.timeouts: icmp session timeouts
-stream.ip preemptive prunes: ip sessions pruned during preemptive pruning +stream.icmp total prunes: total icmp sessions pruned
-stream.ip timeout prunes: ip sessions pruned due to timeout +stream.icmp uni prunes: icmp uni sessions pruned
-stream.ip total prunes: total ip sessions pruned +stream.icmp user prunes: icmp sessions pruned for other reasons
-stream.ip uni prunes: ip uni sessions pruned +stream_ip.alerts: alerts generated
-stream.ip user prunes: ip sessions pruned for other reasons +stream_ip.anomalies: anomalies detected
-stream.tcp excess prunes: tcp sessions pruned due to excess +stream_ip.created: ip session trackers created
-stream.tcp flows: total tcp sessions +stream_ip.current: current fragments
-stream.tcp memcap prunes: tcp sessions pruned due to memcap +stream_ip.discards: fragments discarded
-stream.tcp preemptive prunes: tcp sessions pruned during preemptive pruning +stream_ip.drops: fragments dropped
-stream.tcp timeout prunes: tcp sessions pruned due to timeout +stream.ip excess prunes: ip sessions pruned due to excess
-stream.tcp total prunes: total tcp sessions pruned +stream.ip flows: total ip sessions
-stream.tcp uni prunes: tcp uni sessions pruned +stream_ip.fragmented bytes: total fragmented bytes
-stream.tcp user prunes: tcp sessions pruned for other reasons +stream_ip.frag timeouts: datagrams abandoned
-stream.udp excess prunes: udp sessions pruned due to excess +stream_ip.max frags: max fragments
-stream.udp flows: total udp sessions +stream_ip.max: max ip sessions
-stream.udp memcap prunes: udp sessions pruned due to memcap +stream.ip memcap prunes: ip sessions pruned due to memcap
-stream.udp preemptive prunes: udp sessions pruned during preemptive pruning +stream_ip.memory used: current memory usage in bytes
-stream.udp timeout prunes: udp sessions pruned due to timeout +stream_ip.nodes deleted: fragments deleted from tracker
-stream.udp total prunes: total udp sessions pruned +stream_ip.nodes inserted: fragments added to tracker
-stream.udp uni prunes: udp uni sessions pruned +stream_ip.overlaps: overlapping fragments
-stream.udp user prunes: udp sessions pruned for other reasons +stream.ip preemptive prunes: ip sessions pruned during preemptive pruning
-stream.user excess prunes: user sessions pruned due to excess +stream_ip.prunes: ip session prunes
-stream.user flows: total user sessions +stream_ip.reassembled bytes: total reassembled bytes
-stream.user memcap prunes: user sessions pruned due to memcap +stream_ip.reassembled: reassembled datagrams
-stream.user preemptive prunes: user sessions pruned during preemptive pruning +stream_ip.released: ip session trackers released
-stream.user timeout prunes: user sessions pruned due to timeout +stream_ip.sessions: total ip sessions
-stream.user total prunes: total user sessions pruned +stream.ip timeout prunes: ip sessions pruned due to timeout
-stream.user uni prunes: user uni sessions pruned +stream_ip.timeouts: ip session timeouts
-stream.user user prunes: user sessions pruned for other reasons +stream.ip total prunes: total ip sessions pruned
-stream_icmp.created: icmp session trackers created +stream_ip.total: total fragments
-stream_icmp.max: max icmp sessions +stream_ip.trackers added: datagram trackers created
-stream_icmp.prunes: icmp session prunes +stream_ip.trackers cleared: datagram trackers cleared
-stream_icmp.released: icmp session trackers released +stream_ip.trackers completed: datagram trackers completed
-stream_icmp.sessions: total icmp sessions +stream_ip.trackers freed: datagram trackers released
-stream_icmp.timeouts: icmp session timeouts +stream.ip uni prunes: ip uni sessions pruned
-stream_ip.alerts: alerts generated +stream.ip user prunes: ip sessions pruned for other reasons
-stream_ip.anomalies: anomalies detected +stream_tcp.3way trackers: tcp session tracking started on ack
-stream_ip.created: ip session trackers created +stream_tcp.client cleanups: number of times data from server was flushed when session released
-stream_ip.current: current fragments +stream_tcp.closing: number of sessions currently closing
-stream_ip.discards: fragments discarded +stream_tcp.created: tcp session trackers created
-stream_ip.drops: fragments dropped +stream_tcp.data trackers: tcp session tracking started on data
-stream_ip.frag timeouts: datagrams abandoned +stream_tcp.discards: tcp packets discarded
-stream_ip.fragmented bytes: total fragmented bytes +stream_tcp.established: number of sessions currently established
-stream_ip.max frags: max fragments +stream_tcp.events: events generated
-stream_ip.max: max ip sessions +stream.tcp excess prunes: tcp sessions pruned due to excess
-stream_ip.memory used: current memory usage in bytes +stream.tcp flows: total tcp sessions
-stream_ip.nodes deleted: fragments deleted from tracker +stream_tcp.gaps: missing data between PDUs
-stream_ip.nodes inserted: fragments added to tracker +stream_tcp.ignored: tcp packets ignored
-stream_ip.overlaps: overlapping fragments +stream_tcp.initializing: number of sessions currently initializing
-stream_ip.prunes: ip session prunes +stream_tcp.internal events: 135:X events generated
-stream_ip.reassembled bytes: total reassembled bytes +stream_tcp.max bytes: number of times the maximum queued byte limit was reached
-stream_ip.reassembled: reassembled datagrams +stream_tcp.max: max tcp sessions
-stream_ip.released: ip session trackers released +stream_tcp.max segs: number of times the maximum queued segment limit was reached
-stream_ip.sessions: total ip sessions +stream.tcp memcap prunes: tcp sessions pruned due to memcap
-stream_ip.timeouts: ip session timeouts +stream_tcp.memory: current memory in use
-stream_ip.total: total fragments +stream_tcp.overlaps: overlapping segments queued
-stream_ip.trackers added: datagram trackers created +stream.tcp preemptive prunes: tcp sessions pruned during preemptive pruning
-stream_ip.trackers cleared: datagram trackers cleared +stream_tcp.prunes: tcp session prunes
-stream_ip.trackers completed: datagram trackers completed +stream_tcp.rebuilt buffers: rebuilt PDU sections
-stream_ip.trackers freed: datagram trackers released +stream_tcp.rebuilt bytes: total rebuilt bytes
-stream_tcp.3way trackers: tcp session tracking started on ack +stream_tcp.rebuilt packets: total reassembled PDUs
-stream_tcp.client cleanups: number of times data from server was flushed when session released +stream_tcp.released: tcp session trackers released
-stream_tcp.closing: number of sessions currently closing +stream_tcp.resyns: SYN received on established session
-stream_tcp.created: tcp session trackers created +stream_tcp.segs queued: total segments queued
-stream_tcp.data trackers: tcp session tracking started on data +stream_tcp.segs released: total segments released
-stream_tcp.discards: tcp packets discarded +stream_tcp.segs split: tcp segments split when reassembling PDUs
-stream_tcp.established: number of sessions currently established +stream_tcp.segs used: queued tcp segments applied to reassembled PDUs
-stream_tcp.events: events generated +stream_tcp.server cleanups: number of times data from client was flushed when session released
-stream_tcp.gaps: missing data between PDUs +stream_tcp.sessions: total tcp sessions
-stream_tcp.ignored: tcp packets ignored +stream_tcp.syn-ack trackers: tcp session tracking started on syn-ack
-stream_tcp.initializing: number of sessions currently initializing +stream_tcp.syn trackers: tcp session tracking started on syn
-stream_tcp.internal events: 135:X events generated +stream.tcp timeout prunes: tcp sessions pruned due to timeout
-stream_tcp.max bytes: number of times the maximum queued byte limit was reached +stream_tcp.timeouts: tcp session timeouts
-stream_tcp.max segs: number of times the maximum queued segment limit was reached +stream.tcp total prunes: total tcp sessions pruned
-stream_tcp.max: max tcp sessions +stream.tcp uni prunes: tcp uni sessions pruned
-stream_tcp.memory: current memory in use +stream_tcp.untracked: tcp packets not tracked
-stream_tcp.overlaps: overlapping segments queued +stream.tcp user prunes: tcp sessions pruned for other reasons
-stream_tcp.prunes: tcp session prunes +stream_udp.created: udp session trackers created
-stream_tcp.rebuilt buffers: rebuilt PDU sections +stream.udp excess prunes: udp sessions pruned due to excess
-stream_tcp.rebuilt bytes: total rebuilt bytes +stream.udp flows: total udp sessions
-stream_tcp.rebuilt packets: total reassembled PDUs +stream_udp.max: max udp sessions
-stream_tcp.released: tcp session trackers released +stream.udp memcap prunes: udp sessions pruned due to memcap
-stream_tcp.resyns: SYN received on established session +stream.udp preemptive prunes: udp sessions pruned during preemptive pruning
-stream_tcp.segs queued: total segments queued +stream_udp.prunes: udp session prunes
-stream_tcp.segs released: total segments released +stream_udp.released: udp session trackers released
-stream_tcp.segs split: tcp segments split when reassembling PDUs +stream_udp.sessions: total udp sessions
-stream_tcp.segs used: queued tcp segments applied to reassembled PDUs +stream.udp timeout prunes: udp sessions pruned due to timeout
-stream_tcp.server cleanups: number of times data from client was flushed when session released +stream_udp.timeouts: udp session timeouts
-stream_tcp.sessions: total tcp sessions +stream.udp total prunes: total udp sessions pruned
-stream_tcp.syn trackers: tcp session tracking started on syn +stream.udp uni prunes: udp uni sessions pruned
-stream_tcp.syn-ack trackers: tcp session tracking started on syn-ack +stream.udp user prunes: udp sessions pruned for other reasons
-stream_tcp.timeouts: tcp session timeouts +stream.user excess prunes: user sessions pruned due to excess
-stream_tcp.untracked: tcp packets not tracked +stream.user flows: total user sessions
-stream_udp.created: udp session trackers created +stream.user memcap prunes: user sessions pruned due to memcap
-stream_udp.max: max udp sessions +stream.user preemptive prunes: user sessions pruned during preemptive pruning
-stream_udp.prunes: udp session prunes +stream.user timeout prunes: user sessions pruned due to timeout
-stream_udp.released: udp session trackers released +stream.user total prunes: total user sessions pruned
-stream_udp.sessions: total udp sessions +stream.user uni prunes: user uni sessions pruned
-stream_udp.timeouts: udp session timeouts +stream.user user prunes: user sessions pruned for other reasons
+tcp_connector.messages: total messages +
+telnet.packets: total packets
+116: ciscometadata +
+116: decode
-116:468 (decode) too many protocols present +116:468 (ciscometadata) truncated Cisco Metadata header +
++116:469 (ciscometadata) invalid Cisco Metadata option length +
++116:470 (ciscometadata) invalid Cisco Metadata option type +
++116:471 (ciscometadata) invalid Cisco Metadata SGT +
++116:472 (decode) too many protocols present
+119:76 (http_inspect) Unsupported Transfer-Encoding or Content-Encoding used +
++119:77 (http_inspect) Unknown Transfer-Encoding or Content-Encoding used +
++119:78 (http_inspect) Multiple layers of compression encodings applied +
+122:1 (port_scan) TCP portscan
-hosts(16): reload hosts file +hosts(23): reload hosts file
-rotate(31): rotate stats files +rotate(12): rotate stats files
-stats(30): dump stats to stdout +stats(10): dump stats to stdout
+alert_sfsocket (logger): output event over socket +
+alert_syslog (logger): output event to syslog
+ciscometadata (codec): support for cisco metadata +
+classifications (basic): define rule categories with priority
+tcp_connector (connector): implement the tcp stream connector +
+telnet (inspector): telnet inspection and normalization
+codec::ciscometadata: support for cisco metadata +
+codec::erspan2: support for encapsulated remote switched port analyzer - type 2
+connector::tcp_connector: implement the tcp stream connector +
+inspector::appid: application and service identification
+logger::alert_sfsocket: output event over socket +
+logger::alert_syslog: output event to syslog