2

我编写了以下代码,以使用 lua 和 tshark 将 .pcap 文件中的所有数据包的源地址和目标地址输出到文本文件。

#!/usr/bin/lua

do
    local file = io.open("luawrite", "w")
    local function init_listener()
            local tap = Listener.new("ipv6")
            function tap.packet(pinfo, tvb)
                    local srcadd = pinfo.src
                    local dstadd = pinfo.dst
                    file:write(tostring(srcadd), "\t", tostring(dstadd)"\n")
            end
    end
end  

我正在使用以下命令运行此脚本:

tshark -r wireless.pcap -xlua_script:MyScript.lua  

为什么我的文本文件中没有写入任何内容?代码有问题吗?非常感谢您的帮助。谢谢!

4

1 回答 1

3

可能是因为您在“\n”之前缺少逗号:

---------------------------------------------------vv-----
file:write(tostring(srcadd), "\t", tostring(dstadd), "\n")

file检查调用返回的值可能很有用open

我没有看到脚本有任何其他问题;如果您仍然有问题,我有一个关于调试 Wireshark Lua 脚本的页面可能会有所帮助。

于 2013-06-04T23:22:42.287 回答