SNMP OID 解析器

SNMP OID resolver

我正在编写 Python 代码,其中用户以下列任何形式输入 SNMP OID:

1.3.6.1.2.1.90.1.2
internet.2.1.90.1.2

我希望我的代码将 internet 解析为 1.3.6.1

我正在考虑创建一个字典并为对象名称提供相应的值,但我认为这不是一个好主意。

请帮助我指导我应该如何进行。

  1. NetSnmp 提供了一个 snmptranslate 方法 - 这可能是有用的起点。

    它的手册页说它的目的是:

    translate MIB OID names between numeric and textual forms.

    net-snmp 已经有 Python 个绑定可用,请参阅 these SO questions

  2. 或者pysnmp provides similar. See SO question "Translating pysnmp numerical oid output into symbolic names".