Tester la configuration SNMP d’un équipement réseau.

Paessler SNMP Tester  est un requêteur SNMP fonctionnant sous Windows et qui ne nécessite aucune installation. C’est un outil qui fait peu de chose mais qui le fait bien. Il peut s’avérer très utile pour tester un équipement ou pour récupérer une valeur précise dans une MIB.

Vous pouvez télécharger le logiciel ici .

Comme vous avez pu le constater cet article inaugure une nouvelle catégorie : Supervision, qui regroupera toutes mes recherches dans ce domaine notamment concernant le couple Nagios – Centreon, le développement de plugin et de script généralement en PERL.

Son utilisation est très simple, voici les éléments à renseigner :

  • Adresse IP du host (Device IP)
  • Version SNMP (SNMP version)
  • Communauté ou login/mdp si en SNMP en v3 (Community)
  • OID (Custom OID), facultatif, pour effectuer un test on peut se servir des paramètres par défaut comme Read Device Uptime (L’uptime est un terme informatique désignant le temps depuis lequel une machine, ou un logiciel informatique, tourne sans interruption. En cas de redémarrage, l’uptime est remis à zéro), ou le Scan Available Standard Interface (permet d’afficher toutes les interfaces disponible du matériel)
  • Exécuter en appuyant sur Run Test. Le résultat s’affiche dans la fenêtre de droite.

Avant de mettre les mains dans le cambouis, quelques définitions s’imposent (un peu rébarbatif mais très important pour comprendre la suite), si vous voulez plus de détails voici un lien vers un tutoriel très bien fait sur SNMP sur Developpez.com :

SNMP : Simple Network Management Protocol (abrégé SNMP), en français « protocole simple de gestion de réseau », est un protocole de communication  qui permet aux administrateurs réseau de gérer les équipements du réseau, de superviser et de diagnostiquer des problèmes réseaux et matériels à distance.

Les systèmes de gestion de réseau sont basés sur trois éléments principaux : un superviseur, des nœuds (ou nodes) et des agents. Dans la terminologie SNMP, le synonyme manager est plus souvent employé que superviseur.

Le superviseur est la console qui permet à l’administrateur réseau d’exécuter des requêtes de management. Les agents sont des entités qui se trouvent au niveau de chaque interface, connectant au réseau l’équipement géré (nœud) et permettant de récupérer des informations sur différents objets.

Les Switchs, hubs, routeurs et serveurs sont des exemples d’équipements contenant des objets gérables. Ces objets gérables peuvent être des informations matérielles, des paramètres de configuration, des statistiques de performance et autres objets qui sont directement liés au comportement en cours de l’équipement en question. Ces objets sont classés dans une sorte de base de données arborescente appelée MIB (« Management Information Base »). SNMP permet le dialogue entre le superviseur et les agents afin de recueillir les objets souhaités dans la MIB.

L’architecture de gestion du réseau proposée par le protocole SNMP est donc fondée sur trois principaux éléments :

  • Les équipements gérés (managed devices) sont des éléments du réseau (ponts, switchs, hubs, routeurs ou serveurs), contenant des « objets de gestion » (managed objects) pouvant être des informations sur le matériel, des éléments de configuration ou des informations statistiques ;
  • Les agents, c’est-à-dire les applications de gestion de réseau résidant dans un périphérique, sont chargées de transmettre les données locales de gestion du périphérique au format SNMP ;
  • Les systèmes de gestion de réseau (network management systems notés NMS), c’est-à-dire les consoles à travers lesquelles les administrateurs peuvent réaliser des tâches d’administration.

MIB : Une MIB (Management Information Base, base d’information pour la gestion du réseau) est un ensemble d’informations structuré sur une entité réseau, par exemple un routeur, un commutateur ou un serveur. Ces informations peuvent être récupérées, ou parfois modifiées, par le protocole SNMP.
La structure de la MIB est hiérarchique : les informations sont regroupées en arbre. Chaque information a un object identifier, une suite de chiffres séparés par des points, qui l’identifie de façon unique et un nom, indiqué dans le document qui décrit la MIB.

Par exemple, 1.3.6.1.2.1.2.2.1.2 est l’object identifier ifDescr qui est la chaîne de caractères décrivant une interface réseau (comme eth0 sur Linux ou Ethernet0 sur un routeur Cisco).

Une des MIB les plus connues est MIB-II, décrite dans le RFC 1213, et qui est mise en œuvre dans quasiment tous les équipements TCP/IP. Elle compte dix groupes, « system », « interfaces » (dont fait partie ifDescr, citée plus haut), « Address Translation », « IP », « ICMP », « TCP », « UDP », « EGP », « transmission » et « SNMP ».

Les MIB sont décrites en utilisant ASN.1. Par exemple, ifDescr est décrite par :

ifDescr OBJECT-TYPE
 SYNTAX  DisplayString (SIZE (0..255))
 ACCESS  read-only
 STATUS  mandatory
 DESCRIPTION
 "A textual string containing information about the
 interface.  This string should include the name of
 the manufacturer, the product name and the version
 of the hardware interface."
 ::= { ifEntry 2 }

Voici une représentation graphique de l’arbre des MIB :

OID : Chaque objet est identifié par son OID (OBJECT IDENTIFIER). L’OID se décline sous deux formes, la représentation nominale et la représentation numérique. L’OID permet de positionner de manière très rapide un  objet dans l’arbre global des MIBs et est utilisé pour la construction des paquets de requête  émis sur le réseau entre le manager et l’agent.

Exemple :

Nominal :    iso.org.dod.internet.mgmt.mib-2.ip.ipInReceives
Numeric : 1.3.6.1.2.1.4.3

Maintenant passons à la pratique, prenons un exemple sur un routeur Cisco 877, voyons déjà si SNMP est activé, pour cela :

  • Dans Device IP, indiquer l’adresse ip du routeur
  • Par défaut la communauté est public sauf si vous l’avez changé
  • Sélectionner Read Device Uptime, généralement cet OID est commune à beaucoup d’équipement
  • Cliquer sur Run Test.

  • Dans le volet de droite, une valeur s’affiche à la ligne Value : 172522135. Cela veut dire plusieurs choses, tout d’abord SNMP est activé sur le routeur, vous avez les droits pour interroger ce routeur (Pas de firewall ou d’access list qui bloque), et enfin le résultat qui indique la valeur d’uptime en centième de seconde.
  • Vous pouvez renouveler l’opération avec une OID pratique, Scan Available Standard Interfaces. Cette option vous liste toutes les interfaces réseau de votre équipement, voyons ce que cela donne sur notre routeur.

  • La partie Found Standard Interfaces permet de lister les interfaces physiques et virtuelles de votre routeur associé à leur numéro.
  • La partie Testing Standard Interfaces vous affiche l’OID de l’interface ainsi que le trafic sur celle-ci, trafic en entrée (In) et en sortie (Out)
Vous pouvez sauvegarder le résultat d’une requête SNMP en cliquant sur Save Log to File, et effacer le résultat à l’écran en cliquant sur Clear Log.
  • Autre fonction intéressante du logiciel, vous avez la possibilité de rentrer manuellement une OID pour voir sa valeur, par exemple toujours pour notre routeur cisco 877 nous allons récupérer la valeur de synchronisation de la ligne ADSL grâce à l’OID suivante : 1.3.6.1.2..10.94.1.1.4.1.2.11 (Bien sûr le plus dur est de trouver l’OID correspondante, cela fera l’objet d’un tutoriel à part entière).
  • Vous pouvez saisir l’OID dans le champ Custom OID.

Comme vous pouvez le voir, plus haut le résultat de cette requête se trouve sur la ligne Value soit 6399000 bits soit 6.39 Mbits

Maintenant si ça ne marche pas c’est que :

  • SNMP est mal configuré dans l’équipement
  • Les requêtes SNMP n’arrivent pas à l’équipement ( le debug snmp packet va vous le confirmer, a activer sur l’équipement en question )
  • Un firewall bloque les requêtes SNMP sur le chemin ou l’ACL de protection SNMP dans le routeur fait bien sont travail (il faut avoir la bonne adresse IP source)
  • Les communautés ne sont pas correctes
  • Le user ID + password ne sont pas corrects, si votre équipement utilise la V3 de SNMP.

Voici un exemple en cas de problème :

That‘s All.

3 Potins

  1. Bonjour Lorelei,

    malheureusement pour l’instant non.

    Cordialement

  2. Bonjour Guillaume,

    J’ai trouvé ce post intéressant (pourtant remontant à 2010).

    Je suis à la recherche d’un OID sur routeur SAR, bfdsessiondown, ou autre, et je suis restée la machoire ouverte en lisant :
    -> « (Bien sûr le plus dur est de trouver l’OID correspondante, cela fera l’objet d’un tutoriel à part entière). »

    Ce tutoriel « à part entière » a-t-il vu le jour ?

    Merci par avance de ton retour.

  3. Je trouve les clients SNMP sous Windows assez ch***, je testerai celui-ci à l’occasion :) J’utilise SNMP avec Cacti et j’ai rarement besoin de diagnostiquer cela dit ^^

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *