2013-06-04 127 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可能會有所幫助。