簡體   English   中英

Wireshark按端口計數數據包

[英]wireshark count packets by port

我有一個非常大的跟蹤文件,並且正在嘗試使用Wireshark來確定哪個dest端口發送了最多的數據包。 有沒有一種方法可以獲取發送到特定端口的數據包計數? 還是按發送端口的數據包數量排序?

您可以在lua中編寫一個簡單的wireshark 監聽器

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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM