Script de détection des équipements sur les ports d'un switch

Fermé
WarzAnthem Messages postés 12 Date d'inscription vendredi 5 mai 2017 Statut Membre Dernière intervention 12 mai 2017 - 5 mai 2017 à 13:33
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 5 mai 2017 à 15:33
Bonjour à tous !

Je suis sur un projet qui consiste à créer un script en Perl en deux temps :
en gros j'ai une archi avec plusieurs switchs qui ont plusieurs équipements branchés à eux-même, ici ce sont des routeurs qui m'intéressent.

Je dois donc tout d'abord récupérer l'@MAC de chaque équipement lié à un port du switch, et vérifier si cette @MAC correspond à celle d'un routeur Cisco ou non.

Et ensuite je dois tester cet équipement pour savoir si il y a des erreurs de CRC : par exemple si j'ai deux routeurs inter-connectés et qu'un est en 100Mo/Half-Duplex et l'autre en 1Go/ Full-Duplex !

Voilà, pour le moment je commence la première partie, étant donné que je sais déjà que je dois utiliser SNMP avec une MIB que l'on m'a transmit et j'ai déjà identifié l'OID qui permet de récupérer les @MAC de chaque interface.

Je ne sais juste pas du tout par où commencer pour le script car je n'ai jamais fais de Perl ni utilisé le protocole SNMP !

Merci à ceux qui pourront m'aider !
A voir également:

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
5 mai 2017 à 14:46
Salut WarzAnthem,

Je n'utilise pas personnellement SNMP non plus, mais il y a plusieurs modules disponibles sur CPAN, qui permettent d'effectuer des requêtes SNMP.

Par exemple Net::SNMP : https://metacpan.org/pod/release/DTOWN/Net-SNMP-v6.0.1/lib/Net/SNMP.pm

La documentation de ce module semble très complète et dispose aussi d'exemples.


Dal
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 5 mai 2017 à 14:59
Pour savoir si ce module est installé, tu peux faire ceci à la ligne de commande :

perl -MNet::SNMP -l -e "print('installed')"
0
WarzAnthem Messages postés 12 Date d'inscription vendredi 5 mai 2017 Statut Membre Dernière intervention 12 mai 2017 212 > [Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024
5 mai 2017 à 15:13
Merci à toi, j'avais déjà vu cette page mais je l'ai parcouru rapidement.

Je vais m'y attarder un peu plus, même si ça me fait un peu de lecture quand même ;)
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 5 mai 2017 à 15:27
Vas plutôt directement aux exemples, après avoir vérifié que le module est installé, en utilisant un exemple correspondant à la version du protocole supportée par ton matériel, et utilise la documentation comme une documentation de référence et non d'apprentissage.

Lorsque dans les exemples tu as du code dans le programme principal comme :

#! /usr/local/bin/perl

   use strict;
   use warnings;

   use Net::SNMP;

   my $OID_sysUpTime = '1.3.6.1.2.1.1.3.0';

   my ($session, $error) = Net::SNMP->session(
      -hostname  => shift || 'localhost',
      -community => shift || 'public',
   );
(...)


les lignes du type
-hostname  => shift || 'localhost',
signifient que :

- si un argument est passé au script Perl lancé à partir de la ligne de commande, alors cet argument est utilisé (voir shift, qui dans ce cas prend les données du tableau @ARGV),
- sinon (
||
signifie "ou", comme en C) localhost est utilisé.

Tu peux directement écrire
-hostname  => '192.168.10.254',
si tu conçois ton script Perl seulement pour interroger cette IP sur cette session.

Dal
0
WarzAnthem Messages postés 12 Date d'inscription vendredi 5 mai 2017 Statut Membre Dernière intervention 12 mai 2017 212
5 mai 2017 à 15:27
Ça tombe bien j'étais pile dessus !

Merci de tes éclaircissements, je pense que je vais pouvoir commencer à créer qqchose avec ces exemples.
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
5 mai 2017 à 15:33
Pas de pb, bon courage :-)
0