5. 命令行选项¶
Suricata的命令行选项:
- -h¶
显示简短的用法概述。
- -V¶
显示Suricata的版本。
- -c <path>¶
配置文件的路径。
- -T¶
测试配置。
- -v¶
通过从默认值增加日志级别来增加Suricata应用程序日志记录的详细程度。可以多次传递此选项以进一步增加详细程度。
-v: 信息
-vv:性能
-vvv:配置
-VVV:调试
如果配置文件中设置的日志级别已经比使用此选项请求的日志级别更详细,则此选项不会降低该级别。
- -r <path>¶
在PCAP脱机模式(重放模式)下运行,从PCAP文件读取文件。如果<path>指定了一个目录,则该目录中的所有文件将按修改时间的顺序进行处理,以保持文件之间的流状态。
- --pcap-file-continuous¶
与-r选项一起使用,指示模式应保持活动状态,直到中断为止。这对于添加新文件而不重置文件之间的流状态的目录很有用。
- --pcap-file-recursive¶
当提供的路径是目录时,与-r选项一起使用。此选项允许递归遍历子目录,最大深度为255。此选项不能与--pcap-file-Continuity结合使用。符号链接将被忽略。
- --pcap-file-delete¶
与-r选项一起使用,指示模式应在处理PCAP文件后删除它们。这对于PCAP文件来说非常有用,可以连续地将文件馈送到一个目录,并在完成后将其清除。如果未设置此选项,处理后PCAP文件将不会被删除。
- -i <interface>¶
在-i选项之后,您可以输入您想用来从中嗅探数据包的接口卡。此选项将尝试使用可用的最佳捕获方法。可以多次用于从多个接口嗅探数据包。
- --pcap[=<device>]¶
在PCAP模式下运行。如果没有提供设备,则在 pcap 将使用配置文件的节。
- --af-packet[=<device>]¶
在Linux上启用使用af_数据包捕获数据包。如果没有提供设备,则使用yaml中af packet部分的设备列表。
- -q <queue id>¶
运行提供的nfqueue队列id的内联。可多次提供。
- -s <filename.rules>¶
使用-s选项,您可以设置一个带有签名的文件,该文件将与yaml中设置的规则一起加载。
- -S <filename.rules>¶
使用-s选项,您可以设置一个带有签名的文件,不管yaml中设置的规则如何,该文件都将以独占方式加载。
- -l <directory>¶
使用-l选项可以设置默认日志目录。如果您已经在yaml中设置了默认的log dir,那么如果您使用-l选项,suricata将不会使用它。它将使用用-l选项设置的log dir。如果不使用-l选项设置目录,则suricata将使用在yaml中设置的目录。
- -D¶
通常,如果您在控制台上运行Suricata,它会使您的控制台保持占用状态。您不能将其用于其他目的,当您关闭窗口时,Suricata停止运行。如果您以守护进程的形式运行suricata(使用-d选项),它将在后台运行,您将能够在不干扰引擎运行的情况下将控制台用于其他任务。
- --runmode <runmode>¶
与 --runmode 选项可以设置要使用的运行模式。此命令行选项可以覆盖yaml runmode选项。
运行模式包括: 工人 , 自动调整 和 单一的 .
有关运行模式的详细信息,请参阅 Runmodes 在用户指南中。
- -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)]¶
适用于:classtype、引用和app-layer-event。
缺省情况下,缺少引用或类类型值是警告,而不是错误。此外,加载过期的app-layer-event事件也不会被视为错误,而是被视为警告。
如果启用此选项,则这些警告被视为错误。
如果未指定值或值“all”,则该选项适用于上面的所有关键字。或者,可以提供逗号分隔的列表,其中包含它应该应用到的关键字名称。
- --disable-detection¶
关闭检测引擎。
- --disable-hashing¶
禁用对MD5、SHA1和sha256等散列算法的支持。
默认情况下,哈希处于启用状态。禁用散列还会禁用一些Suricata特性,例如使用散列算法的filestore、ja3和Rule关键字。
- --dump-config¶
将从配置文件加载的配置转储到终端并退出。
- --dump-features¶
转储Suricata模块提供的特性并退出。功能列出(一个子集)配置值,旨在帮助比较所提供的功能与一个或多个规则所需的功能。
- --build-info¶
显示用于生成Suricata的生成信息。
- --list-app-layer-protos¶
列出所有支持的应用层协议。
- --list-keywords=[all|csv|<kword>]¶
列出所有支持的规则关键字。
- --list-runmodes¶
列出所有支持的运行模式。
- --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参数引擎分析,了解可以打印哪些报告
- --unix-socket=<file>¶
使用文件作为Suricata Unix控制套接字。覆盖 文件名 在中提供 unix-command 配置文件的节。
- --reject-dev=<device>¶
使用 装置 发送RST/ICMP错误数据包 拒绝 关键字。
- --pcap-buffer-size=<size>¶
设置PCAP缓冲区的大小(0-2147483647)。
- --netmap[=<device>]¶
在freebsd或linux上启用netmap捕获数据包。如果没有提供设备,则使用yaml中netmap部分的设备列表。
- --pfring[=<device>]¶
启用pf_环包捕获。如果没有提供设备,将使用Suricata配置中的设备。
- --pfring-cluster-id <id>¶
设置pf_环群集ID。
- --pfring-cluster-type <type>¶
设置pf_环集群类型(集群_循环、集群_流)。
- -d <divert-port>¶
使用IPFW转接模式在线运行。
- --dag <device>¶
启用从DAG卡捕获数据包。如果捕获特定流,则可以使用设备名称(如“dag0:4”)选择流。此选项可以多次读取多个设备和/或流。
- --napatech¶
使用napatech streams API启用数据包捕获。
- --erf-in=<file>¶
以脱机模式运行,读取特定的erf文件(endace可扩展记录格式)。
- --simulate-ips¶
在非IPS模式下运行时模拟IPS模式。
5.1. 单元测试¶
内置单元测试仅在Suricata配置和构建时可用 --enable-unittests
.
运行unittests不需要配置文件。使用-l提供输出目录。::
sudo suricata -u
- -u¶
运行单元测试并退出。要求将Suricata配置为 --enable-unittests .
- -U, --unittest-filter=REGEX¶
使用-u选项,您可以选择要运行的单元测试。此选项使用regex。使用示例:suricata-u-u http
- --list-unittests¶
列出可用的单元测试。
- --fatal-unittests¶
在单元测试错误上启用致命故障。Suricata将退出,而不是继续进行更多的测试。
- --unittests-coverage¶
显示单元测试覆盖率报告。