【发布时间】:2015-02-09 06:19:39
【问题描述】:
我正在编写 Python 代码,其中用户以下列任何形式输入 SNMP OID:
1.3.6.1.2.1.90.1.2
internet.2.1.90.1.2
我希望我的代码将 internet 解析为 1.3.6.1。
我正在考虑创建一个字典并为对象名称提供相应的值,但我认为这不是一个好主意。
请帮助我指导我应该如何进行。
【问题讨论】:
我正在编写 Python 代码,其中用户以下列任何形式输入 SNMP OID:
1.3.6.1.2.1.90.1.2
internet.2.1.90.1.2
我希望我的代码将 internet 解析为 1.3.6.1。
我正在考虑创建一个字典并为对象名称提供相应的值,但我认为这不是一个好主意。
请帮助我指导我应该如何进行。
【问题讨论】:
NetSnmp 提供了一个snmptranslate 方法 - 这可能是有用的起点。
它的手册页说它的目的是:
在数字和文本形式之间转换 MIB OID 名称。
已有net-snmp 的Python 绑定可用,请参阅these SO questions。
或者pysnmp 提供类似的功能。请参阅 SO 问题"Translating pysnmp numerical oid output into symbolic names"。
【讨论】: