如何通过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 (将#修改为@)