Je veux lire tous les objets du fichier MIB qu'un gestionnaire a.
J'ai développé un outil pour obtenir des données d'un agent activé SNMP. Je tiens à améliorer cet outil en montrant que tous les OID forment le fichier MIB du gestionnaire.
J'utilise la bibliothèque Net-SNMP.
J'ai vu ce qui suit:
/usr/local/share/snmp/mibs/
dossier et contient de nombreux fichiers MIB, mais comment puis-je former une liste des OID qu'il a?
J'ai traversé les Mibs et j'ai vu les structures, mais comment puis-je obtenir les OID de chaque objet mentionné dans les fichiers MIB?
Je veux énumérer tous les OID comme suit:
SNMPv2-MIB::sysDescr.0 = .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysObjectID.0 = .1.3.6.1.2.1.1.2.0
... etcJe souhaite numériser tous les fichiers MIB et trouver tous les OID des fichiers.
Comment puis-je faire cela?
Utilisez snmptranslate
- commande de la bibliothèque net-snmp
. Essayez-le avec les paramètres suivants:
-M "directory containing your MIB file"
-m ALL
-Pu
-Tso
Après quelques problèmes, j'ai réussi à générer les OID à l'aide de la commande suivante.
snmptranslate -Pu -Tz -M ~/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp:`pwd` -m module_name_NOT_file_name > module_name.oid
Pour tirer le OID
s à partir d'un serveur SNMP
, vous souhaitez utiliser l'outil snmpwalk
à l'aide de -Ci
option. L'outil vient avec Net-SNMP
.
Les deux autres =SO Qas montrent comment vous pouvez le faire sans marcher un système en cours d'exécution:
" code d'échantillon Net-SNMP pour analyser les informations relatives au fichier MIB ": la réponse montre le cadre de niveau supérieur d'un analyseur C qui est basé sur le dessus de la bibliothèque Net-SNMP.
" Obtenez le type d'OID (syntaxe) de MIB à l'aide de l'API Net-SNMP ": c'est la fonction spécifique pour gérer une OID.
Ce n'est que le point de départ. Il y a beaucoup de codage à partir de là.
Mise à jour: L'autre outil Nice est le compilateur SNMP Perl emballé dans SNMP :: MIB :: Compiler. Avec un script dans Perl, vous obtenez tous les éléments/composants de MIB dans des structures de données internes et vous pouvez choisir toutes les informations de là, que ce soit en regardant dans l'arborescence de structure ou en déversant l'arborescence et effectuez une analyse post-analyse sur la décharge.