在 Lua Wireshark dissector 中执行函数进行解析?

我有一个结构如下的 Lua Wireshark 解析器:

-- 初始化协议
-- 初始化协议字段
-- 注册协议字段

-- DissectionFunction(tvbuf, pktinfo, root)

-- 初始化协议

-- 函数定义

我编写了一个函数,想要用它来计算一些值,然后在解析器中使用这些值。因此,我将函数编写在了解析器函数之外,放在了函数定义部分。

但是,如果在解析器函数之外调用,Wireshark 将无法识别它。在解析器函数中调用它非常低效,因为它只需要执行一次,并将为每个帧执行一次。

有没有一种方法可以在解析器函数之外一次性调用它?

点赞
用户78377
用户78377

我不太确定问题是什么,但你可以在 Lua 中执行以下操作

local function calculate_constant_value()
  return a * b + c
end
local my_constant_value = calculate_constant_value()

function proto.dissector()
  -- 在此处使用 my_constant_value
end
2017-04-11 16:41:55