from argparse import ArgumentParser from pysnmp.entity.rfc3413.oneliner.cmdgen import ( CommandGenerator, CommunityData, UdpTransportTarget, UsmUserData, usmAesCfb128Protocol, usmDESPrivProtocol, usmHMACSHAAuthProtocol, ) from pysnmp.proto.rfc1902 import Integer, Counter32, Counter64 import re import sys # Predefine some variables, it makes this program run a bit faster. cmd_gen = CommandGenerator() OIDS = { 'if_index': '1.3.6.1.2.1.2.2.1.1', # Index of all ports. 'if_admin_status': '1.3.6.1.2.1.2.2.1.7', # Status of port. Up="1" 'if_oper_status': '1.3.6.1.2.1.2.2.1.8', # Status of port. Up="1" 'if_name': '1.3.6.1.2.1.31.1.1.1.1', # name / display-string of port. 'if_alias': '1.3.6.1.2.1.31.1.1.1.18', # name / display-string of port. 'switch_model': '.1.3.6.1.2.1.1.1.0', 'port_name': '.1.3.6.1.2.1.31.1.1.1.1', 'port_state': '1.3.6.1.2.1.2.2.1.8', } LAGG_OIDS = { 'procurve': '.1.3.6.1.4.1.11.2.14.11.5.1.7.1.3.1.1.8', 'powerconnect': '.1.2.840.10006.300.43.1.2.1.1.12',
def __init__(self, host, port=None): self.transportTarget = UdpTransportTarget((host, port)) self.authData = None self.generator = CommandGenerator()