20.3.15. Flowint 库¶
suricata.flowint
库向 Lua 脚本公开了 flowint
变量。
20.3.15.1. 初始化¶
首先需要加载 flowint
模块:
local flowintlib = require("suricata.flowint")
然后在 init
方法中注册脚本中使用的所有流整数。此步骤是可选的,如果确定流整数会通过其他方式注册,可以跳过。
示例:
local flowintlib = require("suricata.flowint")
function init ()
flowintlib.register("count")
return {}
end
最后在 thread_init
函数中获取流整数的句柄并存储为全局变量:
function thread_init ()
count_flow_int = flowintlib.get("count")
end
20.3.15.2. 流整数方法¶
20.3.15.2.1. decr()
¶
将 flowint
的值减 1。返回新值。如果当前值为 0,则保持为 0。
20.3.15.2.2. incr()
¶
将 flowint
的值加 1。返回新值。
20.3.15.2.3. value()
¶
获取流整数的当前值。注意:如果流整数没有值,可能会返回 nil
。
20.3.15.2.4. set(value)
¶
将 flowint 的值设置为指定值。