运行lua解剖器并同时点击tshark

时间:2014-02-13 15:05:22

标签: lua wireshark tshark wireshark-dissector

我有一个自定义解剖器(用Lua编写),我正在使用当前项目的许多方面。

我还想写一个水龙头来执行特定任务的某些特定计算。为了模块化,我想将它与通用解剖器分开。

有没有办法从tshark命令行调用Lua编写的解剖器和水龙头?更一般地说,是否可以调用任意数量的Lua脚本,如果是这样,它们是否会以正确的顺序调用?

修改 我试过从命令行调用这两个脚本:

tshark -Xlua_script:my_diss.lua -Xlua_script:my_tap.lua -r my.pcap

但是我收到了一个错误:

tshark: Lua: Error during loading:
 [string "my_tap.lua"]:9: bad argument #1 to 'new' (Field_new: a field with this name must exist)

此行引用的字段名称是在my_diss.lua中创建的,但在加载my_tap.lua时显然不可见。

2 个答案:

答案 0 :(得分:1)

这将要求libwireshark中的“初始化Lua”代码被告知哪些Lua脚本是解析器以及哪些Lua脚本是轻敲的,并在适当的时间加载它们,以便例如在所有分接头之前加载所有解剖器。

这意味着必须改变Wireshark;请在the Wireshark Bugzilla处提交错误。

答案 1 :(得分:0)

现在,wireshark代码库(版本1.8.5)支持此功能。我是从源码构建的,并且能够获得所需的行为。

相关问题是:https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6020

相关提交是:http://anonsvn.wireshark.org/viewvc?view=revision&revision=47877