ntopng/scripts/lua/if_tcpflags_pkt_distro.lua
2017-05-04 17:12:06 +02:00

59 lines
1.2 KiB
Lua

--
-- (C) 2013-17 - ntop.org
--
dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
require "lua_utils"
sendHTTPContentTypeHeader('text/html')
interface.select(ifname)
host_info = url2hostinfo(_GET)
if(host_info["host"] ~= nil) then
local stats = interface.getHostInfo(host_info["host"],host_info["vlan"])
if stats == nil then return end
-- join sent and rcvd
local sent_stats = stats["pktStats.sent"]
local rcvd_stats = stats["pktStats.recv"]
what = {}
for k, _ in pairs(sent_stats) do
what[k] = sent_stats[k] + rcvd_stats[k]
end
else
local stats = interface.getStats()
if stats == nil then return end
what = stats["pktSizeDistribution"]
end
local pkt_distribution = {
['syn'] = 'SYN',
['synack'] = 'SYN/ACK',
['finack'] = 'FIN/ACK',
['rst'] = 'RST',
}
print "[\n"
num = 0
for key, value in pairs(what) do
if(pkt_distribution[key] ~= nil) then
if(num > 0) then
print ",\n"
end
print("\t { \"label\": \"" .. pkt_distribution[key] .."\", \"value\": ".. value .." }")
num = num + 1
end
end
if(num == 0) then
print("\t, { \"label\": \"Other\", \"value\": 100 }")
end
print "\n]"