Il n'y a que trois requêtes disponibles avec SNMP, pour le manager:
- Get,
- GetNext,
- Set.
Il en existe deux autres mais uniquement disponibles pour l'agent:
- GetResponse,
- Trap.
GetNext demande donc à l'agent de retourner la valeur *suivante*. C'est très utile quand l'OID que tu as dispose d'un index ou est sous la forme d'une table.
Par exemple, si je fais:
$ snmpwalk -v 1 -c public localhost ifDescr
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
J'obtiens plusieurs valeurs.
Si j'avais essayé directement avec snmpget, j'aurais obtenu ceci:
$ snmpget -v 1 -c public localhost ifDescr
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: IF-MIB::ifDescr
La raison est qu'il peut y avoir plusieurs interfaces et donc, elles sont indexées. Évidemment, il nous est impossible de savoir à l'avance quel numéro sera affecté à quel interface. Le numéro d'index est donc à rajouter à l'OID pour avoir l'information. Voici les index:
$ snmpwalk -v 1 -c public localhost ifIndex
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
Dans la nomenclature du module Perl Net::SNMP, GetNext correspond à Walk, ce qui est plus proche de la nomenclature du protocole SNMP.
J'espère avoir été plus clair, sinon, tu pourras toujours voir la documentation de Christian Caleca. ;-)
# GetNext, c'est Walk.
Posté par Raphaël SurcouF (site web personnel) . En réponse au message Un pitit snmpwalk...?. Évalué à 3.
- Get,
- GetNext,
- Set.
Il en existe deux autres mais uniquement disponibles pour l'agent:
- GetResponse,
- Trap.
GetNext demande donc à l'agent de retourner la valeur *suivante*. C'est très utile quand l'OID que tu as dispose d'un index ou est sous la forme d'une table.
Par exemple, si je fais:
$ snmpwalk -v 1 -c public localhost ifDescr
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
J'obtiens plusieurs valeurs.
Si j'avais essayé directement avec snmpget, j'aurais obtenu ceci:
$ snmpget -v 1 -c public localhost ifDescr
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: IF-MIB::ifDescr
La raison est qu'il peut y avoir plusieurs interfaces et donc, elles sont indexées. Évidemment, il nous est impossible de savoir à l'avance quel numéro sera affecté à quel interface. Le numéro d'index est donc à rajouter à l'OID pour avoir l'information. Voici les index:
$ snmpwalk -v 1 -c public localhost ifIndex
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
Dans la nomenclature du module Perl Net::SNMP, GetNext correspond à Walk, ce qui est plus proche de la nomenclature du protocole SNMP.
J'espère avoir été plus clair, sinon, tu pourras toujours voir la documentation de Christian Caleca. ;-)
http://christian.caleca.free.fr/snmp/le_protocole.htm