ntopng/python/interface.py
2022-12-02 19:48:18 +01:00

61 lines
2.2 KiB
Python

#
#
# (C) 2022 - ntop.org
#
# interface class
# https://www.ntop.org/guides/ntopng/api/rest/api_v2.html
#
import requests
import json
from requests.auth import HTTPBasicAuth
from ntopng import ntopng
class interface:
def __init__(self, ntopng_obj):
self.ntopng_obj = ntopng_obj
self.rest_v2_url = "/lua/rest/v2"
def get_data(self, ifid):
return(ntopng.request(self.ntopng_obj, self.rest_v2_url + "/get/interface/data.lua", {"ifid": ifid}))
def get_broadcast_domains(self, ifid):
return(ntopng.request(self.ntopng_obj, self.rest_v2_url + "/get/interface/bcast_domains.lua", {"ifid": ifid}))
def get_address(self, ifid):
return(ntopng.request(self.ntopng_obj, self.rest_v2_url + "/get/interface/address.lua", {"ifid": ifid}))
def get_l7_stats(self, ifid, max_num_results):
return(ntopng.request(self.ntopng_obj, self.rest_v2_url + "/get/interface/l7/stats.lua",
{"ifid": ifid,
'ndpistats_mode': 'count',
'breed': True,
'ndpi_category': True,
'all_values' : True,
'max_values': max_num_results,
'collapse_stats': False
}))
def get_dscp_stats(self, ifid):
return(ntopng.request(self.ntopng_obj, self.rest_v2_url + "/get/interface/dscp/stats.lua", {"ifid": ifid}))
def get_interfaces(self):
return(ntopng.request(self.ntopng_obj, self.rest_v2_url + "/get/ntopng/interfaces.lua", None))
def self_test(self, ifid):
print("----------------------------")
print(self.get_data(ifid))
print("----------------------------")
print(self.get_broadcast_domains(ifid))
print("----------------------------")
print(self.get_address(ifid))
print("----------------------------")
max_num_records = 100
print(self.get_l7_stats(ifid, max_num_records))
print("----------------------------")
print(self.get_dscp_stats(ifid))
print("----------------------------")
print(self.get_interfaces())
print("----------------------------")