Suricata命令行
官方网址:官方网址
下面是对Suricata的命令行进行整理
-h
显示简短的使用概述
-V
显示Suricata的版本
-c <path>
配置文件的路径
-T
测试配置文件
-v
如下所示,增加v的个数来增加日志的级别,此外如果配置文件中设置的日志级别已经比此选项请求的级别更详细,则此选项不会降低日志级别。
-v
INFO-vv
PERF-vvv
CONFIG-vvvv
DEBUG
-r <path>
在 pcap 离线模式(重播模式replay mode)下运行,从 pcap 文件中读取文件。如果 指定了一个目录,则该目录中的所有文件将按照修改时间的顺序进行处理,保持文件之间的流状态。
--pcap-file-continuous
与 -r 选项一起使用从而指示模式应该保持活动直到被中断。这对于添加新文件的目录很有用,而不是重置文件之间的流状态。
--pcap-file-delete
与 -r 选项一起使用从而指示该模式应在处理完 pcap 文件后删除它们。这对于 pcap-file-continuous 非常有用,可以连续将文件提供给目录并在完成后清理它们。
-i <interface>
在 -i 选项之后,您可以输入要用来嗅探数据包的接口卡(网卡)。此选项将尝试使用可用的最佳捕获方法。并且可以多次使用以从多个接口嗅探数据包。
tip:通过 ip addr可在Linux中获取网卡
--pcap[=<device>]
在 PCAP 模式下运行。如果未提供设备,则将使用配置文件的 pcap 部分中提供的接口。
--af-packet[=<device>]
在Linux上使用 AF_PACKET启用数据包捕获。如果未提供设备,则使用suricata.yaml 中 af-packet 部分的设备列表。
-q <queue id>
Run inline of the NFQUEUE queue ID provided. May be provided multiple times.
-s <filename.rules>
使用 -s 选项,您可以设置带有签名(规则)的文件,该文件将与 yaml 中设置的规则一起加载。
-S <filename.rules>
使用 -S 选项,您可以设置带有签名(规则)的文件,无论 yaml 中设置的规则如何,该文件都会以独占方式加载。
-l <directory>
使用 -l 选项可以设置默认日志目录。如果您已经在suricata.yaml中设置了default-log-dir,如果您使用 -l 选项,Suricata 将不会使用suricata.yarm内的设置。将使用使用 -l 选项设置的日志目录。如果没有使用 -l 选项设置目录,Suricata将使用在suricata.yaml 中设置的目录。
-D
后台作为守护进程运行。
--list-runmodes
列出所有支持的运行模式。
--runmode <runmode>
使用 –runmode 选项,您可以设置要使用的运行模式。此命令行选项可以覆盖 yaml 运行模式选项。运行模式(Runmodes )是:worker、autofp 和 single。
-F <bpf filter file>
使用文件中的 BPF 过滤器
-k [all|none]
强制(全部)校验和检查或禁用(无)所有校验和检查,整个建议禁用,不让会产生很多误报。
--user=<user>
初始化后设置进程用户。覆盖配置文件的 run-as 部分中提供的用户。
--group=<group
初始化后将进程组设置为组。覆盖配置文件的 run-as 部分中提供的组。
--pidfile <file>
将进程 ID 写入文件。覆盖配置文件中的 pid-file 选项,并在不作为守护程序运行时强制写入文件。
--init-errors-fatal
加载签名(规则)时遇到错误时退出失败。
--strict-rule-keywords[=all|<keyword>|<keywords(csv)]
Applies to: classtype, reference and app-layer-event.
By default missing reference or classtype values are warnings and not errors. Additionally, loading outdated app-layer-event events are also not treated as errors, but as warnings instead.
If this option is enabled these warnings are considered errors.
If no value, or the value ‘all’, is specified, the option applies to all of the keywords above. Alternatively, a comma separated list can be supplied with the keyword names it should apply to.
--disable-detection
禁用检测引擎
--disable-hashing
禁用对哈希算法的支持,例如 md5、sha1 和 sha256。默认情况下启用散列。禁用散列也会禁用一些 Suricata 功能,例如使用散列算法的文件存储、ja3 和规则关键字。
--dump-config
将从配置文件加载的配置转储到终端并退出。
--dump-features
转储 Suricata 模块提供的功能并退出。功能列出(一部分)配置值,旨在帮助将提供的功能与一个或多个规则所需的功能进行比较。英语原文如下
Dump the features provided by Suricata modules and exit. Features list (a subset of) the configuration values and are intended to assist with comparing provided features with those required by one or more rules.
--build-info
显示构建 Suricata 的构建信息。
--list-app-layer-protos
列出所有支持的应用层协议。
--list-keywords=[all|csv|<kword>]
列出所有支持的规则关键字。
--set <key>=<value>
设置配置值。用于覆盖基本配置参数。例如,要更改默认日志目录:
–set default-log-dir=/var/tmp
此选项不能用于向配置文件中的列表添加新条目,例如新输出。它只能用于修改已存在列表中的值。例如,要禁用默认配置文件中的 eve-log:
–set outputs.1.eve-log.enabled=no
另请注意,索引值可能会随着 suricata.yaml 的更新而更改。 有关可以使用其索引修改的现有值,请参阅 –dump-config 的输出。
--engine-analysis
打印引擎中不同部分的分析报告并退出。请查看 conf 参数 engine-analysis 关于可以打印哪些报告。
--unix-socket=<file>
使用文件作为 Suricata unix 控制套接字。覆盖配置文件的 unix-command 部分中提供的文件名。
tip:套接字操作系统提供的API,涉及到网络
--reject-dev=<device>
使用设备发送带有reject 关键字的RST/ICMP 错误数据包。
--pcap-buffer-size=<size>
设置 PCAP 缓冲区的大小 (0 – 2147483647)。
--netmap[=<device>]
在 FreeBSD 或 Linux 上使用 NETMAP 启用数据包捕获。如果未提供设备,则使用 suricata.yaml 中 netmap 部分的设备列表。
--pfring[=<device>]
启用 PF_RING 数据包捕获。如果未提供设备,则将使用 Suricata 配置中的设备。
--pfring-cluster-id <id>
设置 PF_RING 集群 ID。
--pfring-cluster-type <type>
设置 PF_RING 集群类型
-d <divert-port>
使用 IPFW 转移模式内联运行。
--dag <device>
启用 DAG 卡的数据包捕获。如果捕获特定流,则可以使用设备名称(如“dag0:4”)选择流。可以多次提供此选项以读取多个设备和/或流。
--napatech
使用 Napatech Streams API 启用数据包捕获。
--erf-in=<file>
在离线模式下运行读取特定的 ERF 文件(Endace 可扩展记录格式)。
--simulate-ips
在非 IPS 模式下运行时模拟 IPS 模式。
单元测试
需要注意的是,suricata中并不包含单元测试,需要你自行安装。
内置单元测试仅在使用 –enable-unittests 配置和构建 Suricata 时可用。运行 unittests 不需要配置文件。可以使用 -l 提供输出目录。:
sudo suricata -u
-u
运行单元测试并退出。需要使用 –enable-unittests 配置 Suricata。
-U, --unittest-filter=REGEX
使用 -U 选项,您可以选择要运行的单元测试。此选项使用 REGEX。使用示例:suricata -u -U http。
--list-unittests
列出可用的单元测试。
--fatal-unittests
在单元测试错误上启用致命失败。 Suricata 将退出,而不是继续进行更多测试。
--unittests-coverage
显示单元测试覆盖率报告