【发布时间】:2017-10-22 07:18:37
【问题描述】:
这个想法是将 OID 转换为 MIB 对象名称,反之亦然,包括使用 pysnmp 获取枚举值的名称。
我找到了这个'PDU var-binds to MIB objects' 示例,但是当我尝试加载不同的 MIB 时(示例 varBinds 部分已注释,所以那里没有问题),尤其是 NMS,我收到了一个错误:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/pyasn1/type/univ.py", line 227, in prettyIn
return int(value)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple'
NMS MIB 及其导入的所有三个模块在 .pysnmp/mibs 文件夹中都有编译后的 .py 变体。 NET-SNMPs snmptranslate 应用程序可以无错误地转换 OID。
加载问题的原因是什么,一些 MIB 不一致?
加法:
软件包升级到 pysnmp-4.3.10、pyasn1-0.3.7、pysmi-0.1.4。 成功尝试原始示例,除了使用的 MIB 列表外,没有添加任何代码,随机找到另外两个 MIB,其中还包括导入的 SNMPv2-TC 和 RFC1155-SMI。只有在将 NMS MIB 添加到 loadModules 列表时,才会加载部分代码出现问题。
【问题讨论】: