EVOLUTION-MANAGER
Edit File: data.lua
-- -- (C) 2013-24 - ntop.org -- dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path -- Imports require "lua_utils" local rest_utils = require "rest_utils" -- Local variables local host_ip = _GET["host"] local vlan = _GET["vlan"] local view = _GET["view"] local host = interface.getHostInfo(host_ip, vlan) or {} local total_bytes = 0 local rsp = {} -- Applications if view == 'applications' and host then local host_applications = host["ndpi"] or {} -- Calculate the total bytes sent and received, to calculate the percentages for _, v in pairs(host_applications) do total_bytes = total_bytes + (v["bytes.rcvd"] or 0) + (v["bytes.sent"] or 0) end -- Now format the values for k, v in pairs(host_applications) do local tot_l7_bytes = (v["bytes.sent"] or 0) + (v["bytes.rcvd"] or 0) rsp[#rsp + 1] = { application = { id = interface.getnDPIProtoId(k), label = k, }, duration = (v["duration"] or 0), bytes_sent = (v["bytes.sent"] or 0), bytes_rcvd = (v["bytes.rcvd"] or 0), tot_bytes = tot_l7_bytes, percentage = (tot_l7_bytes * 100) / total_bytes, } end elseif host then -- Categories local categories_utils = require "categories_utils" local host_categories = host["ndpi_categories"] or {} -- Calculate the total bytes sent and received, to calculate the percentages for _, v in pairs(host_categories) do total_bytes = total_bytes + (v["bytes"] or 0) end -- Now format the values for k, v in pairs(host_categories) do rsp[#rsp + 1] = { category = { id = interface.getnDPICategoryId(k), label = getCategoryLabel(k, v.category), }, applications = categories_utils.get_category_protocols_list(v.category, true), duration = (v["duration"] or 0), tot_bytes = (v["bytes"] or 0), percentage = ((v["bytes"] or 0) * 100) / total_bytes, } end end rest_utils.answer(rest_utils.consts.success.ok, rsp)