解析SNMP MIB文件生成设备和OID列表
我正在处理大量的SNMP MIB文件,并从中创建一个设备和它们各自ID的字典,格式是“1.3.6.1.4.1.9.1.694":"catalyst296024”。
目前我使用Mibble来解析MIB文件,因为在尝试了其他应用程序和模块后,我发现它是最合适的。然后我用Python来处理这些数据。
我的问题是,我只需要“设备名称和OID”。因为在解析时我得到了所有的OID数据,我还没有找到一个聪明的方法来识别设备并忽略其他的内容。(除了逐行查看数据)
1 个回答
2
最简单的方法之一就是使用 Net-SNMP 的 mib2c
程序,这个程序可以让你根据一组 MIB 对象快速生成输出。想了解如何编写 mib2c 脚本,可以查看它的维基页面。
另外,你也可以直接解析一个命令的输出,比如snmptranslate,这个命令会打印出一个树状结构的输出(使用 -Tp
),这个输出通常比 MIB 文件本身更容易解析。