ntopng/scripts/lua/live_capture_data.lua
2024-01-12 11:44:18 +01:00

45 lines
1.3 KiB
Lua

--
-- (C) 2013-24 - ntop.org
--
dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
require "lua_utils"
local format_utils = require "format_utils"
local json = require "dkjson"
interface.select(ifname)
sendHTTPHeader('application/json')
local result = {}
local perPage = 5
local currentPage = 1
local total_rows = 1
result["perPage"] = perPage
result["currentPage"] = currentPage
local lc = interface.dumpLiveCaptures()
local res = {}
for k,v in pairs(lc) do
local host = ""
local num_captured_packets = format_utils.formatValue(v.num_captured_packets)
local capture_max_pkts = v.capture_max_pkts
local diff = v.capture_until - os.time()
local capture_until = format_utils.formatEpoch(v.capture_until).." [ - "..diff.." sec ]"
local stop_href = "<A HREF=".. ntop.getHttpPrefix() .."/lua/stop_live_capture.lua?capture_id="..v.id.."><span class=\"badge bg-danger\">Stop <i class=\"fas fa-download\"></i></span></A>"
if(v.host ~= nil) then host = v.host end
res[#res + 1] = { host = host, num_captured_packets = num_captured_packets, capture_until = capture_until, stop_href = stop_href }
end
result["data"] = res
result["totalRows"] = #res
result["sort"] = {{sortColumn, sortOrder}}
print(json.encode(result))