交换机常用OID
sysDescr 1.3.6.1.2.1.1.1
用snmpwalk 读取OID值
snmpwalk -v 2c -c public ip 1.3.6.1.2.1.1.1
iso.3.6.1.2.1.1.1.0 = STRING: “H3C Switch S5120-28P-PWR-SI Software Version 5.20, Release 1518
Copyright© 2004-2016 Hangzhou H3C Tech. Co., Ltd. All rights reserved.”
用python 及django读取 sysDescr 值
def V2(self,oidName,*args,**kwargs):
“”" snmpwalk V2"“”
kwargs[‘funcName’] = f’Snmpwalk.V2’
kwargs[‘oidName’] = oidName
oidValue = self.getOidValue(*args,**kwargs) ##1.3.6.1.2.1.1.1
kwargs[‘message’] = f’ip:{self.switchObj.ip} switchObj.oidValue({oidName}) return oidValue:{oidValue}’
if oidValue:
info(*args,**kwargs)
else:
error(*args,**kwargs)
return None
try:
errorIndication, errorStatus, errorIndex,genericSet = cmdgen.CommandGenerator().nextCmd(
cmdgen.CommunityData(‘test-agent’,self.community,1),
cmdgen.UdpTransportTarget((self.ip, self.port)),
oidValue,ignoreNonIncreasingOid=True)
except Exception as E:
kwargs[‘message’] = f’ip:{self.switchObj.ip} cmdgen.CommandGenerator().nextCmd unknow error,return None’
error(*args,**kwargs)
print(E)
return None
if not errorIndication:
if genericSet:
number = len(genericSet)
kwargs[‘message’] = f’ip:{self.switchObj.ip} Snmpwalk.V2 result genericSet number:={number}=’
info(*args,**kwargs)
return genericSet
kwargs[‘message’] = f’ip:{self.switchObj.ip} Snmpwalk.V2 result genericSet is None,return None’
error(*args,**kwargs)
return None
kwargs[‘message’] = f’ip:{self.switchObj.ip} Snmpwalk.V2 errorIndication not is None,return None’
error(*args,**kwargs)
return None
格式化读取 sysDescr genericSet
def sysDescr(self,genericSet,*args,**kwargs):
“”“get sysDescr”“”
kwargs[‘funcName’]=f’Format.sysDescr’
retValue = genericSet[0][0][1].prettyPrint()
kwargs[‘message’] = f’Format.sysDescr:genericSet[0][0][1].prettyPrint() success’
info(*args,**kwargs)
return retValue
返回字符串:
H3C Switch S5120-28P-PWR-SI Software Version 5.20, Release 1518
Copyright© 2004-2016 Hangzhou H3C Tech. Co., Ltd. All rights reserved