解析SNMP MIB文件(OID转换)

时间:2011-09-28 11:51:53

标签: php snmp oid mib

我正在制作网络设备监视器。部分是PHP前端,用户可以在其中输入他感兴趣的SNMP值(SNMP OID)。我想让用户更简单,因此我想创建一个简单的MIB浏览器,允许用户从树中选择值。

问题是将MIB文件读取到数据库(或至少类似XML的格式),我可以将它们呈现给用户。即时解析MIB文件对我来说似乎很浪费,以便排除PHP的snmp_read_mib() - 除非我可以读取MIB一次并将OID转换保存到DB?

另外,如果可能的话,我想避免编写自己的解析器。 :)

我找到了libsmi但是我不确定如何在这种情况下使用它...我尝试使用smidump但是只能创建一些没有用的内容的简短XML。我没有尝试过xmldump,因为它在Debian(作为包)上不可用,并且必须从源代码构建它。此外,我认为这是从2005年开始的。它有帮助吗?

所以问题是:如何从MIB文件中读取OID名称和/或其他数据(SNMP陷阱信息)并将其转换为一些即用型格式?

2 个答案:

答案 0 :(得分:2)

我最终使用Mibble - 我写了一个小程序,它使用这个库来解析MIB并输出数据。非常简单,似乎工作得很好。

不过,谢谢你们两位试图帮助我 - 我很感激!

答案 1 :(得分:1)

smidump -f identifiers <MIB_filename>

如果MIB不符合其语法,请使用

smilint -ms <MIB_filename>

这应该让你开始