wiki:Realisations/2007-2008/Projet/Traces/SNMPGetRequest

observations sur l'envoi d'un message SNMPv2 getrequest

Constitution de la trace

On observe un échange SNMP entre un switch (agent SNMP) et une machine ayant l'adresse 10.40.3.2 (serveur3.ent2.com)
2 types de messages échangés: get-request A et get-response.

Etapes priliminaires

Configurer le switch

Lors d'un accès via Telnet au switch, on doit activer l'agent d'administration SNMPv2 et créer une communauté ("catégorie" d'utilisateurs ayant accès au serveur SNMP en lecture ou en lecture/écriture)

enable snmp access # active le serveur snmp
enable snmp traps lldp ports all # on active les alertes (traps en anglais) sur tous les ports.
configure snmp add community readwrite ent2 # ajout d'une communauté d'utilisateur "ent2" ayant accès en lecture écriture à la MIB.
configure snmp add trapreceiver 10.40.3.2# qui receptionnera les alertes? c'est le serveur1 mais on peut en ajouter d'autres.
configure snmp sysContact samir@ent2.com # qui s'occupe du switch?
configure snmp sysLocation Paris # où se trouve le switch?
configure snmp sysName Switch_as4 # on attribue un nom au switch.

REMARQUE: Habituellement, sur tous les agents SNMP, il existe une communauté public par defaut. Celle-ci à accès en lecture seule à la MIB.

Configurer le client SNMP

Dans le cas présent, j'ai utilisé le logiciel freeware getif v2.3.1 pour Windows. Il est très utilisé car gratuit et de bonne facture.
De plus, il connait une multitude de MIB (base de données SNMP), et surtout, nous avons une interface graphique simplissime.

Pour les pro-Linux, il aurait été possible d'utiliser les utilitaires du paquetage "net-snmp" pour accéder à une MIB. à l'aide d'un terminal, on peut alors utiliser les commandes:

■ /usr/bin/snmpget. # Obtenir des informations de la MIB.
■ /usr/bin/snmpset. # Mettre des informations dans la MIB (Si on a le droit).
■ /usr/bin/snmpnetstat. # Fournis le statut réseau en utilisant SNMP (similaire à la commande netstat).
■ /usr/bin/snmpwalk. # Requêtes successives de la MIB à un (sous-)arbre.

Mise en marche

En ayant configuré les machines concernées, on lance getif, on introduit le nom complet du switch, et le nom de la communauté ent2 que nous avons créé précédemment.
Il ne reste plus qu'à cliquer sur <start> (séduisant non? :-) )
http://samirb5.free.fr/pfres/getif-parameters.gif
Tous les champs grisés sont alors remplis comme par enchantement...
Tout cela dans seulement une requête et une réponse?!?

Observations de la trace

Trame 1

Revenons sur nos 2 messages.
Nous voyons que le client envoie une requête getrequest contenant 8 variables de MIB.
Nous avons à l'interieur de celle-ci la demande des 8 valeurs de MIB (dans le cadre rouge de la photo précédentes):

1.3.6.1.2.1.1.1.0
1.3.6.1.2.1.1.2.0
...
1.3.6.1.2.1.1.7.0
1.3.6.1.2.1.2.1.0

Schématiquement, On peut représenter la MIB pour voir les valeurs demandées (voir cases grisées):
http://samirb5.free.fr/pfres/MIB.gif

Trame 2

L'agent SNMP répond par un Get-response contenant les 8 valeurs demandées.

Visuellement, cela se traduit par la complétion dans l'interface de l'application avec ces valeurs.

Last modified 17 years ago Last modified on Jun 14, 2008, 7:54:31 PM