将封包信息写入文本文件。

我编写了以下代码,使用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

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

点赞
用户1442917
用户1442917

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

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

检查“打开”调用返回的“文件”值可能会有用。

我没有看到脚本中的其他问题; 如果您仍然有问题,我有一篇有关使用Zerobrane Studio调试Wireshark Lua脚本的页面可能会有所帮助。

2013-06-04 23:22:42