1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
--
-- (C) 2019-22 - ntop.org
--
local dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
require "lua_utils"
sendHTTPContentTypeHeader('text/html')
interface.select(ifname)
local host_info = url2hostinfo(_GET)
local mode = _GET["http_mode"]
local host = interface.getHostInfo(host_info["host"],host_info["vlan"])
local left = 0
print "[\n"
--for k,v in pairs(host["dns"][what]) do
-- print(k.."="..v.."<br>\n")
--end
if(host ~= nil) then
http = host.http
if(http ~= nil) then
if(mode == "queries") then
if(http["sender"]["query"]["total"] > 0) then
min = (http["sender"]["query"]["total"] * 3)/100
comma = ""
if(http["sender"]["query"]["num_get"] > min) then
print(comma..'\t { "label": "GET", "value": '.. http["sender"]["query"]["num_get"] .. '}\n')
comma = ","
else
left = left + http["sender"]["query"]["num_get"]
end
if(http["sender"]["query"]["num_post"] > min) then
print(comma..'\t { "label": "POST", "value": '.. http["sender"]["query"]["num_post"] .. '}\n')
comma = ","
else
left = left + http["sender"]["query"]["num_post"]
end
if(http["sender"]["query"]["num_head"] > min) then
print(comma..'\t { "label": "HEAD", "value": '.. http["sender"]["query"]["num_head"] .. '}\n')
comma = ","
else
left = left + http["sender"]["query"]["num_head"]
end
if(http["sender"]["query"]["num_put"] > min) then
print(comma..'\t { "label": "PUT", "value": '.. http["sender"]["query"]["num_put"] .. '}\n')
comma = ","
else
left = left + http["sender"]["query"]["num_put"]
end
if((http["sender"]["query"]["num_other"]+left) > 0) then
print(comma..'\t { "label": "Other", "value": '.. (http["sender"]["query"]["num_other"]+left) .. '}\n')
end
end
else
-- responses
if(http["receiver"]["response"]["total"] > 0) then
min = (http["receiver"]["response"]["total"] * 3)/100
comma = ""
if(http["receiver"]["response"]["num_1xx"] > min) then
print(comma..'\t { "label": "1xx", "value": '.. http["receiver"]["response"]["num_1xx"] .. '}\n')
comma = ","
else
left = left + http["receiver"]["response"]["num_1xx"]
end
if(http["receiver"]["response"]["num_2xx"] > min) then
print(comma..'\t { "label": "2xx", "value": '.. http["receiver"]["response"]["num_2xx"] .. '}\n')
comma = ","
else
left = left + http["receiver"]["response"]["num_2xx"]
end
if(http["receiver"]["response"]["num_3xx"] > min) then
print(comma..'\t { "label": "3xx", "value": '.. http["receiver"]["response"]["num_3xx"] .. '}\n')
comma = ","
else
left = left + http["receiver"]["response"]["num_3xx"]
end
if(http["receiver"]["response"]["num_4xx"] > min) then
print(comma..'\t { "label": "4xx", "value": '.. http["receiver"]["response"]["num_4xx"] .. '}\n')
comma = ","
else
left = left + http["receiver"]["response"]["num_4xx"]
end
if(http["receiver"]["response"]["num_5xx"] > min) then
print(comma..'\t { "label": "4xx", "value": '.. http["receiver"]["response"]["num_5xx"] .. '}\n')
comma = ","
else
left = left + http["receiver"]["response"]["num_5xx"]
end
if(left > 0) then
print(comma..'\t { "label": "Other", "value": '.. left .. '}\n')
end
end
end
end
end
print "\n]"
|