Pode ser muito tedioso encadear de volta manualmente. Existem ferramentas como snmptranslate
para fazer esse tipo de coisa para você. Tente snmptranslate -M /path/to/mibs -m ALL -Pu -Tso|grep -B1 sysUpTimeInstance
. Para ver os detalhes completos de sysUpTime, use snmptranslate -Td -OS .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime
Isso mostrará que é medido em TimeTicks.
Mas, para responder à sua pergunta, os arquivos MIB são gravados em ASN.1, onde cada objeto pode construir sobre todos os objetos anteriores. Entre outras coisas, como descrições e tipos de objetos, etc., ele cria OIDs, também conhecidos como IDENifiers de objetos, que mapeiam OIDs para nomes como .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
Para esta entrada, sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
significa aproximadamente "O OID para sysUpTimeInstance é igual ao OID de sysUpTime mais '.0' e o MIB é igual ao MIB de sysUpTime mais '.sysUpTimeInstance'
Para ver o que é o OID e o resto do MIB para o sysUpTime, você deve procurar mais cedo no arquivo. Tendo em mente que pode ter sido importado de outro arquivo. Neste caso, foi, portanto, se você olhar na seção IMPORTAÇÕES, verá que o sysUpTime foi importado do SNMPv2-MIB. Se você verificar esse arquivo, verá sysUpTime definido e, nessa definição, você encontrará ::= { system 3 }
.
Até agora, temos .3.0
e system.sysUpTime.sysUpTimeInstance
, que é apenas a última parte do OID e o nome completo da MIB. Poderíamos, então, rastrear system
de volta para sua definição, etc, etc. Seguindo essa cadeia de volta pelos arquivos, você eventualmente obterá o OID completo e o MIB completo.
Claro, você poderia usar apenas snmptranslate
, como mostrado no primeiro parágrafo, para fazer tudo isso para você. Ele irá mostrar-lhe o MIB e o OID. Para a maioria de nós, isso geralmente é o que precisamos.
Para mais informações, consulte:
(panfleto de produto, mas também contém um bom resumo MIB) link