我有一个自定义解剖器(用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
时显然不可见。
答案 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