我正在制作网络设备监视器。其中一部分是 PHP 前端,用户可以在其中输入他感兴趣的 SNMP 值(SNMP OID)。我想让用户的过程更简单,所以我想创建一个简单的 MIB 浏览器,允许用户从树中选择值。
问题是将 MIB 文件读取到数据库(或至少类似于 XML 的格式)中,我可以从中将它们呈现给用户。动态解析 MIB 文件对我来说似乎很浪费,因此排除了 PHP 的 snmp_read_mib() - 除非我可以读取一次 MIB 并将 OID 翻译保存到 DB?
另外,如果可能的话,我想避免编写自己的解析器。:)
我找到了 libsmi,但我不确定如何在这种情况下使用它...我尝试使用 smidump 但只能创建一些没有有用内容的短 XML。不过,我还没有尝试 xmldump,因为它在 Debian(作为包)上不可用,并且必须从源代码构建它。另外,我认为它是从 2005 年开始的。它会有帮助吗?
所以问题是:如何从 MIB 文件中读取 OID 名称和/或其他数据(SNMP 陷阱信息)并将它们转换为一些现成的格式?