2013-06-04 131 views
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 

为什么没有被写在我的文本文件?代码有问题吗?非常感谢帮助。谢谢!

回答

3

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

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

这可能是检查由open调用返回file值有用。

我没有看到脚本的任何其他问题;如果你仍然有问题,我有一个page on debugging Wireshark Lua scripts可能会有所帮助。