Анализ файлов SNMP MIB (перевод OID)

Я делаю монитор сетевого устройства. Частично он представляет собой PHP-интерфейс, где пользователь может вводить интересующие его значения SNMP (OID SNMP). Я хочу упростить процесс для пользователя, поэтому я хочу создать простой браузер MIB, позволяющий пользователю выбирать значения из дерева.

Проблема заключается в чтении файлов MIB в базу данных (или, по крайней мере, в формате, похожем на XML), откуда я мог бы представить их пользователю. Анализ файлов MIB на лету кажется мне расточительным, так что я исключаю PHP snmp_read_mib() - разве я могу прочитать MIB один раз и сохранить переводы OID в БД?

Кроме того, я хотел бы избежать написания моего собственного парсера, если это возможно.:)

Я нашел libsmi, но я не уверен, как использовать его для этого случая... Я попытался использовать smidump, но смог создать только короткий XML без полезного контента. Хотя я еще не пробовал xmldump, потому что он недоступен в Debian (как пакет) и должен был собрать его из исходников. Кроме того, я думаю, что это с 2005 года. Это поможет?

Поэтому возникает вопрос: как я могу прочитать имена OID и / или другие данные (информация SNMP Trap) из файлов MIB и преобразовать их в какой-нибудь готовый формат?

2 ответа

Решение

В итоге я использовал Mibble - я написал небольшую программу, которая использует эту библиотеку для анализа MIB и вывода данных. Очень просто и, кажется, работает хорошо.

Тем не менее, спасибо вам обоим за попытку помочь мне - я ценю это!

smidump -f identifiers <MIB_filename>

Если MIB не соответствует синтаксису, используйте

smilint -ms <MIB_filename>

Это должно начать вас

Другие вопросы по тегам