def identify_interface_index(ifname): """Identifies the interface index for the given interface name. This is used in order to extract hosts from teh correct interface. if ifname is nil it returns 0 """ if ifname == '': return 0 for i in range(interface.numInterfaces()): if (interface.name(i).lower() == ifname.lower()): return i return 0
# Import modules for CGI handling import cgi, cgitb import ntop, interface, json # Parse URL cgitb.enable() form = cgi.FieldStorage() name = form.getvalue('Name', default="nubie") version = ntop.version() os = ntop.os() uptime = ntop.uptime() ifnames = [] try: for i in range(interface.numInterfaces()): ifnames.append(interface.name(i)) except Exception as inst: print type(inst) # the exception instance print inst.args # arguments stored in .args print inst # __str__ allows args to printed directly ntop.printHTMLHeader('Test Mininet NTOP Env', 1, 0) ntop.sendString("Hello, " + name + "<br>") ntop.sendString("Ntop Information: %s %s %s" % (version, os, uptime)) ntop.sendString("Here are my interfaces: <br>") ntop.sendString(json.dumps(ifnames, sort_keys=True, indent=4)) ntop.printHTMLFooter()
data = layout.dump() # ====================================== # W I D G E T D A T A E M I T T E R # ====================================== # Actually populate data if you provided a widget identifier if "widget" == query.lower() and len(widgetId) > 0: widget = Widget() # =============================== # Interface Overview Widget Data # =============================== if widgetId.lower() == "interfaceoverview": # generic info group widget.setKeyAndValue( "generic info", { "name": interface.name(i), "human name": interface.humanName(i), "virtual": "Yes" if interface.virtual(i) else "No", "speed": interface.speed(i) if interface.speed(i) else "Unknown", "mtu": interface.mtu(i), "bpf filter": interface.bpf(i) or "none", }, ) # interface time group # suspended at the moment # widget.setKeyAndValue('interface time', interface.time(i)) # interface address info widget.setKeyAndValue( "interface address", { "IPv4 address": interface.ipv4(i),
# ================================ data = layout.dump() # ====================================== # W I D G E T D A T A E M I T T E R # ====================================== # Actually populate data if you provided a widget identifier if ('widget' == query.lower() and len(widgetId) > 0): widget = Widget() # =============================== # Interface Overview Widget Data # =============================== if (widgetId.lower() == "interfaceoverview"): # generic info group widget.setKeyAndValue( 'generic info', { 'name': interface.name(i), 'human name': interface.humanName(i), 'virtual': 'Yes' if interface.virtual(i) else 'No', 'speed': interface.speed(i) if interface.speed(i) else 'Unknown', 'mtu': interface.mtu(i), 'bpf filter': interface.bpf(i) or 'none' }) # interface time group # suspended at the moment # widget.setKeyAndValue('interface time', interface.time(i)) # interface address info widget.setKeyAndValue( 'interface address', { 'IPv4 address': interface.ipv4(i), 'IPv6 address': interface.ipv6(i),
# Import modules for CGI handling import cgi, cgitb # Parse URL cgitb.enable() form = cgi.FieldStorage() name = form.getvalue('name', default="") mode = form.getvalue('mode', default="") rsp = {} try: for i in range(interface.numInterfaces()): if ((len(name) == 0) or (name == interface.name(i))): info = {} info['name'] = interface.name(i) info['humanName'] = interface.humanName(i) info['time'] = interface.time(i) info['virtual'] = interface.virtual(i) info['speed'] = interface.speed(i) info['mtu'] = interface.mtu(i) info['bpf'] = interface.bpf(i) addr = {} addr['ipv4'] = interface.ipv4(i) addr['network'] = interface.network(i) addr['numHosts'] = interface.numHosts(i) addr['ipv6'] = interface.ipv6(i) info['address'] = addr
# Parse URL cgitb.enable() form = cgi.FieldStorage() ifname = form.getvalue('if', default="") topic = form.getvalue('topic', default="") rsp = {} try: for i in range(interface.numInterfaces()): # Only include selected interface/s if ((len(ifname) == 0) or (ifname == interface.name(i))): # initialize output dictionary rsp[interface.uniqueName(i)] = {} if (len(topic) == 0 or topic.lower() == "interface"): # interface data is a grouped table. info_metadata = { "type": "groupedtable", "title": "Generic Interface Information" } info = {} # interface info # formerly other info if_info = {}
# # (C) 2010 - David Votino # import ntop import interface import json # Import modules for CGI handling import cgi, cgitb # Parse URL cgitb.enable(); form = cgi.FieldStorage(); ifnames = [] try: for i in range(interface.numInterfaces()): ifnames.append(interface.name(i)) except Exception as inst: print type(inst) # the exception instance print inst.args # arguments stored in .args print inst # __str__ allows args to printed directly ntop.sendHTTPHeader(1) # 1 = HTML ntop.sendString(json.dumps(ifnames, sort_keys=True, indent=4))
# Import modules for CGI handling import cgi, cgitb # Parse URL cgitb.enable(); form = cgi.FieldStorage(); name = form.getvalue('name', default="") mode = form.getvalue('mode', default="") rsp = {} try: for i in range(interface.numInterfaces()): if((len(name) == 0) or (name == interface.name(i))): info = {} info['name'] = interface.name(i) info['humanName'] = interface.humanName(i) info['time'] = interface.time(i) info['virtual'] = interface.virtual(i) info['speed'] = interface.speed(i) info['mtu'] = interface.mtu(i) info['bpf'] = interface.bpf(i) addr = {} addr['ipv4'] = interface.ipv4(i) addr['network'] = interface.network(i) addr['numHosts'] = interface.numHosts(i) addr['ipv6'] = interface.ipv6(i) info['address'] = addr
# Parse URL cgitb.enable(); form = cgi.FieldStorage(); ifname = form.getvalue('if', default="") topic = form.getvalue('topic', default="") rsp = {} try: for i in range(interface.numInterfaces()): # Only include selected interface/s if((len(ifname) == 0) or (ifname == interface.name(i))): # initialize output dictionary rsp[interface.uniqueName(i)] = {} if (len(topic) == 0 or topic.lower() == "interface"): # interface data is a grouped table. info_metadata = { "type":"groupedtable", "title":"Generic Interface Information" } info = {} # interface info # formerly other info if_info = {} if_info['name'] = interface.name(i) if_info['humanName'] = interface.humanName(i) if_info['virtual'] = interface.virtual(i)