Это возможно с pysnmp, вам не нужно создавать парсер MIB.; -)
Если вы следуете этому примеру , в частности, этим частям:
from pysnmp.smi import builder, view, compiler
mibBuilder = builder.MibBuilder()
compiler.addMibCompiler(mibBuilder, sources=['/usr/share/snmp/mibs'])
mibBuilder.loadModules('IF-MIB', ...)
mibView = view.MibViewController(mibBuilder)
oid, label, suffix = mibView.getNodeName((1,3,6,1,2,1,31,1,1,1,6))
Переменная label
должна вернуть ifHCInOctets
.Одно предостережение: вам нужно загрузить MIB, который определяет OID, прежде чем вы сможете его найти.Неразрешенный хвост OID может появиться в suffix
.
Другой подход может заключаться в использовании инструмента pysmi mibdump (или базовой библиотеки pysmi ) для включения ASN.1 MIB в JSON для дальнейшей обработки вашим приложением.
Кстати, этот же инструмент может создать JSON index , который будет выглядеть как this .Вы можете использовать его для сопоставления вашего OID с модулем MIB, где он определен.