Traduction de la sortie SNMPWALK dans un format lisible par l'homme

12

Je pose cette question qui est liée à une question que j'ai déjà posée et à laquelle a répondu de manière approfondie @MikePennington. Lorsque j'ai posé cette question, j'avais l'intention de savoir comment interroger la table arp à partir d'un commutateur, mais dans sa réponse, il a également inclus des tables d'adresses mac. Par curiosité, j'ai interrogé les tables d'adresses mac. J'ai utilisé la commande:

 sudo /usr/bin/snmpbulkwalk -v 2c -c public@1 -OXsq 10.0.0.98 .1.3.6.1.2.1.17.4.3.1.2

Dans la solution de Mike, il a obtenu un résultat clair comme indiqué ci-dessous

[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public@10 -OXsq \
    172.16.1.210 .1.3.6.1.2.1.17.4.3.1.2 
dot1dTpFdbPort[0:6:53:fe:39:e0] 52 
dot1dTpFdbPort[0:1d:a1:cd:53:46] 52 
dot1dTpFdbPort[0:30:1b:bc:a7:d7] 52
 dot1dTpFdbPort[0:80:c8:0:0:0] 52 
dot1dTpFdbPort[38:ea:a7:6d:2e:8e] 52 
dot1dTpFdbPort[80:ee:73:2f:b:40] 52 
[mpenning@tsunami ~]$

Il s'agit d'une solution claire dans laquelle vous pouvez facilement indiquer le port et l'adresse Mac. Cependant, ma propre solution se présente sous la forme de

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25
iso.3.6.1.2.1.17.4.3.1.2.0.21.23.10.229.224 25
iso.3.6.1.2.1.17.4.3.1.2.28.111.101.71.85.113 25
iso.3.6.1.2.1.17.4.3.1.2.28.111.101.174.157.35 25
iso.3.6.1.2.1.17.4.3.1.2.48.133.169.153.178.62 25
iso.3.6.1.2.1.17.4.3.1.2.60.208.248.182.16.108 25
iso.3.6.1.2.1.17.4.3.1.2.108.240.73.231.208.120 25

Je comprends que le numéro de port est 25, mais les autres numéros représentent-ils une adresse MAC et si oui, pourquoi sont-ils différents de la solution Give?

Toute aide sera vraiment appréciée. J'interroge un commutateur Cisco Catalyst 2960.

sosytee
la source
2
Il vous manque un fichier MIB qui indique comment lire les données. Mais c'est juste une présentation base10 de votre MAC, iso.3.6.1.2.1.17.4.3.1.2. 28.111.101.71.85.113 25, facile à convertir en base16. ruby -e 'p ARGV [0] .split (".") [- 6 ..- 1] .map {| e | e.to_i.to_s (16)}. join (":")' iso.3.6 .1.2.1.17.4.3.1.2.28.111.101.71.85.113 25, donne "1c: 6f: 65: 47: 55: 71" - semble être un gigaoctet OUI
ytti
Pouvez-vous s'il vous plaît poster les adresses MAC équivalentes? Il semble que vous les vidiez simplement en décimal plutôt qu'en hexadécimal, mais nous aurions besoin des adresses hexadécimales pour comparer.
chrylis -on strike-
la seule façon d'obtenir les adresses MAC équivalentes serait de convertir car à partir de cette solution, tout cela pointe vers le port 25, donc je pense que c'est une procédure compliquée pour essayer de trouver les MAC correspondants.
sosytee
@ytti dois-je installer la MIB sur mon serveur?
sosytee
1
@sosytee oui, vous devez installer la MIB appropriée sur votre serveur si la conversion vous-même n'est pas une option, elle est trop triviale comme indiqué ci-dessus.
ytti

Réponses:

8

ma propre solution se présente sous la forme de

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25

... les autres nombres représentent-ils une adresse MAC et si oui, pourquoi sont-ils différents de la solution Give?

Tout d'abord, je m'excuse de ne pas inclure cette dépendance ...

Les tables MIB que vous interrogez sont indexées par une valeur. Dans ce cas, vous interrogez dot1dTpFdbPort(qui apparaît comme iso.3.6.1.2.1.17.4.3.1.2 , si vous n'avez pas le BRIDGE-MIB chargé). Cet OID est indexé par une adresse MAC. Par conséquent, 0.20.42.49.139.235 est l'adresse mac au format décimal en pointillés ...

Pour voir les résultats que vous attendez, vous devez obtenir les mibs v2 du site FTP de Cisco :

  • mkdir /usr/share/snmp/mibs/cisco (en tant que root)
  • cd /usr/share/snmp/mibs/cisco
  • Copie v2.tar.gzque vous venez de télécharger/usr/share/snmp/mibs/cisco/v2.tar.gz
  • tar xvfz v2.tar.gz
  • Modifiez /etc/snmp/snmp.confet faites-en la première ligne du fichier:mibdirs +/usr/share/snmp/mibs/cisco

Hypothèses :

  • Vous utilisez des bibliothèques NET-SNMP pour interroger
  • Vos MIB NET-SNMP par défaut sont chargés dans /usr/share/snmp/mibs/
  • Votre configuration NET-SNMP est en /etc/snmp/snmp.conf
Mike Pennington
la source