1. Lua 输出
Suricata提供了通过可插入的lua脚本获取特定类型网络流量的更详细输出的可能性。您可以自己编写这些脚本,只需要定义四个钩子函数。
对于lua输出脚本,suricata提供了广泛的lua功能。它们都返回有关特定引擎内部和网络流量方面的信息。它们在以下部分中描述,按事件/流量类型分组。但是让我们从一个解释四个钩子函数的例子开始,以及如何使suricata加载一个lua输出脚本。
1.1 脚本结构
lua输出脚本需要定义4个钩子函数:init(),setup(),log(),deinit()
init() - 注册脚本挂钩到输出引擎的位置
setup() - 每个输出线程设置
log() - 日志记录功能
deinit() - 清理功能
如:
![](https://img.haomeiwen.com/i10950606/92723a5f941bc22a.png)
1.2 YAML
要启用lua输出,请添加'lua'输出并添加一个或多个脚本,如下所示:
outputs:
-lua:
enabled:yes
scripts-dir:/etc/suricata/lua-output/
scripts:
-tcp-data.lua
-flow.lua
scripts-dir选项是可选的。它使Suricata从此目录加载脚本。否则将从当前workdir加载脚本。
1.3 开发lua输出脚本
您可以使用lua函数种描述的函数。
网友评论