【问题标题】:Executing a function for dissection in a Lua Wireshark dissector?在 Lua Wireshark 解剖器中执行解剖功能?
【发布时间】:2017-09-07 04:10:15
【问题描述】:

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

-- Initialize Protocol
-- Initialize Protocol Fields
-- Register Protocol Fields

-- DissectionFunction(tvbuf, pktinfo, root)

-- Initialize Protocol

-- Function definitions.

我写了一个函数,我想用它来计算一些值,然后在解析器中使用这些值。所以我在解剖函数之外和函数定义部分编写了我的函数。

但是函数调用也可以在解析器函数内工作,如果在解析器函数之外调用,Wireshark 无法识别它。在 dissection 函数中调用它是非常低效的,因为它只需要执行一次,并且将针对每一帧执行。

有没有办法在解剖函数之外调用它?

【问题讨论】:

    标签: lua wireshark wireshark-dissector lua-api


    【解决方案1】:

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

    local function calculate_constant_value()
      return a * b + c
    end
    local my_constant_value = calculate_constant_value()
    
    function proto.dissector()
      -- use my_constant_value here
    end
    

    【讨论】:

    • 效果很好!不知道为什么我之前没有尝试过,哈哈。谢谢! :)
    猜你喜欢
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多