微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过python中的mib文件获取开关OID信息

如何解决如何通过python中的mib文件获取开关OID信息

我想通过python中的MIB文件获取开关OID信息用户可读格式 我有一个mib文件rfc1213.mib

am返回python中的代码


from pysnmp.smi import builder,view,compiler,rfc1902

# Assemble MIB viewer
mibBuilder = builder.MibBuilder()
compiler.addMibCompiler(mibBuilder,sources=['rfc1213.mib','http://mibs.snmplabs.com/asn1/@mib@'])

mibViewController = view.MibViewController(mibBuilder)

# Pre-load MIB modules we expect to work with
mibBuilder.loadModules('SNMPv2-MIB','SNMP-COMmunitY-MIB')

# This is what we can get in TRAP PDU
varBinds = [
 ('1.3.6.1.2.1.1.3.0')
]

# Run var-binds received in PDU (a sequence of OID-value pairs)
# through MIB viewer to turn them into MIB objects.
# You may want to catch and ignore MIB lookup errors here.
varBinds = [rfc1902.ObjectType(rfc1902.ObjectIdentity(x[0]),x[1]).resolveWithMib(mibViewController) for x in varBinds]

for varBind in varBinds:
    print(varBind.prettyPrint())

运行此代码时,我收到错误消息

  File "parser.py",line 45,in <listcomp>
    varBinds = [rfc1902.ObjectType(rfc1902.ObjectIdentity(x[0]),x[1]).resolveWithMib(mibViewController) for x in varBinds]
  File "/home/nishad/anaconda3/lib/python3.7/site-packages/pysnmp/smi/rfc1902.py",line 862,in resolveWithMib
    raise SmiError('MIB object %r is not object-type (MIB not loaded?)' % (self.__args[0],))
pysnmp.smi.error.SmiError: MIB object ObjectIdentity('1') is not object-type (MIB not loaded?)

如何解决此问题。我需要在python中为mib文件加载OID信息用户可读格式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。