Übersetzung der SNMPWALK-Ausgabe in ein für Menschen lesbares Format

12

Ich stelle diese Frage, die sich auf eine Frage bezieht, die ich zuvor gestellt habe und die von @MikePennington umfassend beantwortet wurde. Als ich diese Frage stellte, wollte ich wissen, wie man eine Arp-Tabelle von einem Switch abfragt, aber in seiner Antwort enthielt er auch Mac-Adresstabellen. Aus Neugier habe ich nach den Mac-Adresstabellen gefragt. Ich habe den Befehl verwendet:

 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

In Mikes Lösung hatte er ein klares Ergebnis wie unten gezeigt

[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 ~]$

Dies ist eine klare Lösung, bei der Sie den Port und die Mac-Adresse leicht erkennen können. Meine eigene Lösung kommt jedoch in Form von

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

Ich verstehe, dass die Portnummer 25 ist, aber stellen die anderen Nummern eine MAC-Adresse dar und wenn ja, warum unterscheiden sie sich von der angegebenen Lösung?

Jede Hilfe wird sehr geschätzt. Ich wähle einen Cisco Catalyst 2960-Switch aus.

Sosytee
quelle
2
Es fehlt eine MIB-Datei, die angibt, wie die Daten gelesen werden sollen. Aber es ist nur eine base10-Präsentation Ihres MAC, iso.3.6.1.2.1.17.4.3.1.2. 28.111.101.71.85.113 25, leicht zu base16 zu konvertieren. 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 ergibt "1c: 6f: 65: 47: 55: 71"
scheint
Können Sie bitte die entsprechenden MAC-Adressen posten? Es sieht so aus, als würden Sie sie nur dezimal anstatt hexadezimal ausgeben, aber wir würden die hexadezimalen Adressen zum Vergleichen benötigen.
chrylis -on strike-
Die einzige Möglichkeit, die entsprechenden MAC-Adressen zu erhalten, ist die Konvertierung, da von dieser Lösung aus alles auf Port 25 verweist. Ich halte es daher für eine komplizierte Prozedur, die entsprechenden MACs zu finden.
Sosytee
@ytti soll ich die MIB auf meinem Server installieren?
Sosytee
1
@sosytee ja, du solltest die entsprechende MIB auf deinem Server installieren, wenn das Konvertieren selbst keine Option ist. Es ist zu trivial, wie oben gezeigt.
Ytti

Antworten:

8

meine eigene Lösung kommt in Form von

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25

... stellen die anderen Zahlen eine MAC-Adresse dar und wenn ja, warum unterscheiden sie sich von der angegebenen Lösung?

Zuerst entschuldige ich mich, dass ich diese Abhängigkeit nicht mit einbezogen habe ...

Die abgefragten MIB-Tabellen werden nach einem Wert indiziert. In diesem Fall wird abgefragtdot1dTpFdbPort (dies wird als iso.3.6.1.2.1.17.4.3.1.2 angezeigt , wenn die BRIDGE-MIB nicht geladen ist). Diese OID wird durch eine Mac-Adresse indiziert. Daher ist 0.20.42.49.139.235 die Mac-Adresse im Punkt -Dezimal-Format ...

Um die erwarteten Ergebnisse zu erhalten , müssen Sie die v2-Mibs von der FTP-Site von Cisco herunterladen :

  • mkdir /usr/share/snmp/mibs/cisco (als root)
  • cd /usr/share/snmp/mibs/cisco
  • Kopieren v2.tar.gzSie die soeben heruntergeladene Datei/usr/share/snmp/mibs/cisco/v2.tar.gz
  • tar xvfz v2.tar.gz
  • Bearbeiten /etc/snmp/snmp.confund machen Sie dies zur ersten Zeile in der Datei:mibdirs +/usr/share/snmp/mibs/cisco

Annahmen :

  • Sie verwenden NET-SNMP-Bibliotheken zum Abrufen
  • Ihre NET-SNMP-Standard-MIBs werden geladen /usr/share/snmp/mibs/
  • Ihre NET-SNMP-Konfiguration ist in /etc/snmp/snmp.conf
Mike Pennington
quelle