Bonjour
Mon but est d'obtenir l'adresse MAC d'un port sur un commutateur
je connais $adresseequipement ; $port (le nom du port - ex: Ethernet 1) ; communauteRO
# j'interroge le switch sur OID : "BRIDGE-MIB::dot1dTpFdbPort"
# je constitue mon fichier tampon avec comme format de sortie
# oid = INTERGER: numduport
resultat : (le fichier peut contenir > 1500 lignes)
Code : Sélectionner tout - Visualiser dans une fenêtre à part snmpwalk -v2c -c $communauteRO $adresseequipement .1.3.6.1.2.1.17.4.3.1.2 -On | awk -F ".1.3.6.1.2.1.17.4.3.1.2" {' print $2 '} |awk -F "=" {' print $1 $2'} >> fichiertampon.tmp
.144.251.166.22.66.156 INTEGER: 41
.144.251.166.22.66.160 INTEGER: 23
.144.251.166.22.66.171 INTEGER: 23
# je recherche dans le fichier tampon le port et affecte à la variable numportsnmp
# après quelques tests sur vieillesse du fichier tampon, adresse seule
Code : Sélectionner tout - Visualiser dans une fenêtre à part numportsnmp=`cat fichiertampon.tmp | grep ": $port$" | awk -F" " {' print $1 '}`
# portx=$numportsnmp
# j'interroge le switch sur OID : "BRIDGE-MIB::dot1dTpFdbAddress"
# pour récupérer l'adresse MAC
resultat : l'adresse MAC
Code : Sélectionner tout - Visualiser dans une fenêtre à part adressemacport=`snmpget -v2c -c $communauteRO $adresseequipement .1.3.6.1.2.1.17.4.3.1.1$portx -Ouv | awk -F "STRING:" {'print $2'}`
90:fb:a6:16:42:9c
questions :
1 - suis-je obligé de passer par un fichier tampon ?
2 - y a t-il une méthode plus efficace ?
d'avance merci
Partager