[PERL] Requete MIB en SNMP

Résolu/Fermé
NewKind Messages postés 16 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 15 novembre 2007 - 21 mars 2007 à 12:26
 jicé - 2 juil. 2007 à 09:55
Salut,

Je cherche à recuperer des informations contenues dans la Mib d'un routeur en SNMP.

Voici une partie du code que j'utilise:

# Informations de connexion en snmp
  my ($sesnmp, $error) = Net::SNMP->session(
      -hostname     => $iprouteur,
      -username     => 'username',
	  -password		=> 'password'
      
   );

   if (!defined($sesnmp)) {
      printf("ERROR: %s.\n", $error);
      exit 1;
   }

   my $versionIOS = '1.3.6.1.2.1.1.1.0';
   
  # Requete snmp
   my $result = $sesnmp->get $versionIOS
   print "$result\n"

 # Liberation des ressources
   $session->close;
   $sesnmp->close;


La syntaxe semble erronée, le script ne fonctionne et j'ai un mal fou à trouver des exemple de script d'interrogation d'une MIB en Perl...

Si quelqu'un en connait ou sait me dire ce qui ne va pas dans mon script, ce serait sympa !

Merci à ceux qui ont lu jusqu'ici ! lol

2 réponses

NewKind Messages postés 16 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 15 novembre 2007 2
22 mars 2007 à 15:01
Bon, en fait je me compliquais la vie pour rien.
Pour ceux qui auraient le même probleme, le mieux est semble t il de télécharger "Snmpget".

Voila ensuite le code à integrer au script Perl:

{
  # Interrogation de la mib du routeur en snmp
  system("snmpget -v 1 -c $community -Oqv $iprouteur .1.3.6.1.2.1.1.1.0 >Conf\\vers_IOS.txt"); 
  }


$community represente mot de passe défini sur le switch/routeur pour le parametre SNMP Read Community.

.1.3.6.1.2.1.1.1.0 permet de récupérer la version de l'IOS

Voila ... Je tiens également à me remercier pour mon aide.
Sans moi je ne m'en serais jamais sorti !
3
lol dommage que personne ne t'ai aidé!!!
0
NewKind,

je viens de tomber sur ton post, je n'ai pas regardé ce qui cloche vraiment. Mais en tout cas l'appel à snmpget via la commande system n'est pas la meilleure solution car c'est beaucoup plus lent que le module snmp de perl.

Quel message d'erreur avais-tu ?
0
NewKind Messages postés 16 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 15 novembre 2007 2
21 mars 2007 à 16:16
Re !

J'ai modifié ma requete et pour l'instant j'en suis là, mais ça ne fonctionne toujours pas :s
 my $versionIOS = '1.3.6.1.2.1.1.1.0';
   {
  # Requete snmp
   my @output3 = $sesnmp->get_request(-versionIOS=> $versionIOS);
   print "@output3\n";
   }


Personne n'a une idée ???
0