Script PERL + Module Net::SNMP [Résolu/Fermé]

Signaler
Messages postés
180
Date d'inscription
dimanche 30 janvier 2011
Statut
Membre
Dernière intervention
30 septembre 2012
-
Messages postés
4
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
8 mars 2013
-
Bonjour à tous,

Je débute en PERL et j'ai quelques petits soucis avec le module Net::SNMP, je n'arrive pas à l'utiliser.
J'ai fait un script tout simple pour tester une requête, mais cela ne fonctionne pas.

use Net::SNMP;

my $oid = "1.3.6.1.2.1.1.1";
my $host = "IP";
my $community = "public";

my ($session, $error) = Net::SNMP->session(
	-hostname  => $host,
	-community => $community,
);
	
if (!defined($session)) {
	printf("ERROR: %s.\n", $error);
}

my $result = $session->get_request($oid);

if (!defined($result)) {
	printf("ERROR: %s.\n", $session->error());
	$session->close();
	exit 3;
}

print $result;


Le problème c'est que j'obtient l'erreur : ERROR: Received noSuchName(2) error-status at error-index 1.

Merci d'avance pour votre aide :)

1 réponse

Messages postés
180
Date d'inscription
dimanche 30 janvier 2011
Statut
Membre
Dernière intervention
30 septembre 2012
8
Re-bonjour,

Apparemment j'ai trouvé d'où viens le problème.
Si je test de faire une requête SNMP "à la mains" à l'aide de la commande snmpget

snmpget -v1 -c public IP_SWITCH 1.3.6.1.2.1.1.1

J'obtiens l'erreur suivante :

Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: SNMPv2-MIB::sysDescr


Il semblerai qu'il ne trouve pas l'objet, ce qui est étonnant puisque l'objet sysDescr est l'un des objets les plus communs de la MIB, il doit donc y avoir un problème quelque pars.
Messages postés
180
Date d'inscription
dimanche 30 janvier 2011
Statut
Membre
Dernière intervention
30 septembre 2012
8
L'ajout d'un .0 à la fin de l'OID permet de faire marcher les commandes.
snmpget -v1 -c public IP_SWITCH 1.3.6.1.2.1.1.1.0
Messages postés
4
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
8 mars 2013

ou sinon essaye de faire un snmpwalk ça devrait marcher après tu pourras choper le vrai OID et faire un snmpget ensuite.