如何更改为Wireshark设计的Lua脚本,使其与Tshark一起工作



我有一个部分Lua脚本,它与Wireshark完美配合:

local function appl_rtt_dialog_menu()
local win = TextWindow.new("Application Latency");
local label = ""
local tot = 0
local i
i = 0
label = label .. "ServerttMin Application RTTn"
for k,v in pairsByValues(min_appl_RRT, rev) do
label = label .. string.format("%-20st%.3f / %.3f msecn", shortenString(k), v, max_appl_RRT[k])
if(i == max_num_entries) then break else i = i + 1 end
end
win:set(label)
win:add_button("Clear", function() win:clear() end)
end

我正在尝试修改它以便在Tshark中使用。由于脚本是为GUI编写的,而Tshark没有,所以我更改了它以便打印到控制台:

do
local function appl_rtt()
local label = ""
local i
i = 0
label = label .. "ServerttMin Application RTTn"
for k,v in pairsByValues(min_appl_RRT, rev) do
label = label .. string.format("%-20st%.3f / %.3f msecn", shortenString(k), v, max_appl_RRT[k])
print(label)
if(i == max_num_entries) then break else i = i + 1 end
end
end
appl_rtt()
end

但是没有输出。

  • 完整脚本:https://github.com/ntop/nDPI/blob/dev/wireshark/ndpi.lua
  • 用于在Tshark:tshark -r test.pcap -X lua_script:test.lua -q中执行

有人知道如何更改脚本吗?

我已经用Listener((和draw((函数修复了它。

最新更新