我正在编写Python代码,其中用户以以下任何形式输入SNMP OID:
1.3.6.1.2.1.90.1.2 internet.2.1.90.1.2
我希望我的代码能够解析 internet 到 1.3.6.1 .
internet
1.3.6.1
我正在考虑创建一个字典,并为对象名称提供相应的值,但我认为这不是一个好主意。
请帮助我指导如何继续。
NetSnmp提供了 snmptranslate 方法-这可能是有用的起点。
snmptranslate
其手册页显示其目的是:
在数字和文本形式之间转换MIB OID名称。
已经有Python绑定用于 net-snmp 可用,请参阅 these SO questions .
net-snmp
或者 pysnmp 提供了类似的。参见SO问题 "Translating pysnmp numerical oid output into symbolic names" .