如何修改适用于 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 .. "Server\t\t最小应用 RTT\n"
    for k,v in pairsByValues(min_appl_RRT, rev) do
        label = label .. string.format("%-20s\t%.3f / %.3f 毫秒\n", 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("清除", function() win:clear() end)
end

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

do
    local function appl_rtt()
        local label = ""
        local i
        i = 0
        label = label .. "Server\t\t最小应用 RTT\n"
        for k,v in pairsByValues(min_appl_RRT, rev) do
            label = label .. string.format("%-20s\t%.3f / %.3f 毫秒\n", 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

但没有输出。

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

点赞
用户12486784
用户12486784

我已经用Listener()draw()函数解决了它。

2020-08-20 08:15:38