2012-11-27 140 views
0

我有一個非常大的跟蹤文件,並試圖使用Wireshark來確定哪個目標端口有最多的數據包發送給它。有沒有辦法獲得發送到特定端口的數據包計數?還是按發送端口的數據包數量排序?wireshark通過端口計數數據包

回答

0

你可以在lua中寫一個簡單的wireshark listener

local tap 

local ports = {} 

local function packet(pinfo, tvb, userdata) 
    -- store number of packets per each port 
    local port = pinfo.dst_port 
    ports[port] = (ports[port] or 0) + 1 
end 

local function draw(userdata) 

    local maxi,maxv = 0,0 
    -- print all gathered statictics and find max 
    for i,v in pairs(ports) do 
     print(i .. ":", v) 
     if maxv < v then 
      maxi,maxv = i,v 
     end 
    end 
    print ("Max:", maxi, maxv) 
end 

local function reset(userdata) 
    ports = {} 
end 

local function show_ports() 
    tap = Listener.new() 
    tap.packet = packet 
    tap.draw = draw 
    tap.reset = reset 
end 

register_stat_cmd_arg('ports', show_ports) 

試試:

tshark -X lua_script:ports.lua -z ports -r in.pcap 
+0

我瓦納找到誰派出最頂尖的數據包的源端口號,我怎麼能做到這一點,在Wireshark的? – user3806649