2

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

问题是将 MIB 文件读取到数据库(或至少类似于 XML 的格式)中,我可以从中将它们呈现给用户。动态解析 MIB 文件对我来说似乎很浪费,因此排除了 PHP 的 snmp_read_mib() - 除非我可以读取一次 MIB 并将 OID 翻译保存到 DB?

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

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

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

4

2 回答 2

2

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

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

于 2011-10-03T07:02:09.637 回答
1
smidump -f identifiers <MIB_filename>

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

smilint -ms <MIB_filename>

这应该让你开始

于 2011-10-03T04:33:50.620 回答