Sammeln Sie MAC-Adressen von verbundenen Geräten über SNMP

537
R.Christes

Ich arbeite an einem Skript, das Daten von Netgear-Switches über SNMP sammelt. Mein Problem ist, dass ich die OID nicht finden kann, die die MAC-Adresse der an einen Port angeschlossenen Clients darstellt.

SNMPWalk hat einige - aber nicht alle - Adressen auf OIDs wie iso.0.8802.1.1.2.1.4.1.1.5.18524162.7.7 gefunden (gibt einen HEX-String des an Port 7 angeschlossenen Geräts zurück)

Weiß jemand, wie man die Adressen aller (direkt) verbundenen Geräte sammelt oder welche OID hier verwendet werden soll?

Grüße R.Christes

1

1 Antwort auf die Frage

1
bcs78

Ich würde verwenden 1.3.6.1.2.1.17.4.3.1.1, um die Liste der angeschlossenen Geräte abzurufen. Bitte beachten Sie, dass die Liste auch die MAC-Adressen der Ports enthält. Wenn ein anderer Switch an einen der Ports angeschlossen ist, werden weitere MACs in der Liste angezeigt (MAC der an den anderen Switch angeschlossenen Geräte).

1.3.6.1.2.1.17.4.3.1.2 hat die Liste der entsprechenden Port-IDs.

Dies sind Standard-OIDs und nicht Netgear-spezifisch, daher sollte dies mit jeder Marke funktionieren.

Hier ist eine Beispielausgabe von meiner Mikrotik:

bcs78@sv1:~# snmpwalk -l authPriv -a SHA -A password -x AES -X password -u community 192.168.88.1 1.3.6.1.2.1.17.4.3.1 iso.3.6.1.2.1.17.4.3.1.1.0.12.66.194.81.97 = Hex-STRING: 00 0C 42 C2 51 61 iso.3.6.1.2.1.17.4.3.1.1.0.12.66.231.167.149 = Hex-STRING: 00 0C 42 E7 A7 95 iso.3.6.1.2.1.17.4.3.1.1.28.116.13.111.54.18 = Hex-STRING: 1C 74 0D 6F 36 12 iso.3.6.1.2.1.17.4.3.1.1.40.194.221.106.213.139 = Hex-STRING: 28 C2 DD 6A D5 8B iso.3.6.1.2.1.17.4.3.1.1.120.29.186.155.14.13 = Hex-STRING: 78 1D BA 9B 0E 0D iso.3.6.1.2.1.17.4.3.1.1.172.133.61.155.120.36 = Hex-STRING: AC 85 3D 9B 78 24 iso.3.6.1.2.1.17.4.3.1.1.176.70.252.87.106.236 = Hex-STRING: B0 46 FC 57 6A EC iso.3.6.1.2.1.17.4.3.1.1.176.70.252.87.107.46 = Hex-STRING: B0 46 FC 57 6B 2E iso.3.6.1.2.1.17.4.3.1.1.184.39.235.8.17.87 = Hex-STRING: B8 27 EB 08 11 57 iso.3.6.1.2.1.17.4.3.1.1.228.141.140.231.7.102 = Hex-STRING: E4 8D 8C E7 07 66 iso.3.6.1.2.1.17.4.3.1.1.228.141.140.231.7.103 = Hex-STRING: E4 8D 8C E7 07 67 iso.3.6.1.2.1.17.4.3.1.1.228.141.140.231.7.104 = Hex-STRING: E4 8D 8C E7 07 68 iso.3.6.1.2.1.17.4.3.1.1.228.141.140.231.7.105 = Hex-STRING: E4 8D 8C E7 07 69 iso.3.6.1.2.1.17.4.3.1.1.228.141.140.231.7.107 = Hex-STRING: E4 8D 8C E7 07 6B iso.3.6.1.2.1.17.4.3.1.2.0.12.66.194.81.97 = INTEGER: 4 iso.3.6.1.2.1.17.4.3.1.2.0.12.66.231.167.149 = INTEGER: 5 iso.3.6.1.2.1.17.4.3.1.2.28.116.13.111.54.18 = INTEGER: 3 iso.3.6.1.2.1.17.4.3.1.2.40.194.221.106.213.139 = INTEGER: 19 iso.3.6.1.2.1.17.4.3.1.2.120.29.186.155.14.13 = INTEGER: 6 iso.3.6.1.2.1.17.4.3.1.2.172.133.61.155.120.36 = INTEGER: 6 iso.3.6.1.2.1.17.4.3.1.2.176.70.252.87.106.236 = INTEGER: 4 iso.3.6.1.2.1.17.4.3.1.2.176.70.252.87.107.46 = INTEGER: 5 iso.3.6.1.2.1.17.4.3.1.2.184.39.235.8.17.87 = INTEGER: 4 iso.3.6.1.2.1.17.4.3.1.2.228.141.140.231.7.102 = INTEGER: 26 iso.3.6.1.2.1.17.4.3.1.2.228.141.140.231.7.103 = INTEGER: 5 iso.3.6.1.2.1.17.4.3.1.2.228.141.140.231.7.104 = INTEGER: 4 iso.3.6.1.2.1.17.4.3.1.2.228.141.140.231.7.105 = INTEGER: 3 iso.3.6.1.2.1.17.4.3.1.2.228.141.140.231.7.107 = INTEGER: 19 (...) 

Wie Sie sehen, werden die untergeordneten OIDs dynamisch erstellt (dh: Eine neue OID für den MAC 00:0C:42:C2:51:61wurde in einer dezimalen Darstellung erstellt (...).0.12.66.194.81.97).


Wie in den folgenden Kommentaren besprochen, gelten die oben genannten OIDs für einige Geräte (ich habe sie auf einem Mikrotik-Router getestet). VLAN-fähige Switches verwenden jedoch eher die OID, 1.3.6.1.2.1.17.7.1.2.2.1 wenn die untergeordnete OID .1die MAC- Adresstabelle ist und .2die zugehörigen Ports enthält, das grundlegende Prinzip jedoch dasselbe ist.

Viele VLAN-fähige Switches unterstützen diese OID nicht. Stattdessen verwenden sie "1.3.6.1.2.1.17.7.1.2.2.1.2" von 802.1Q, das die VLAN-ID zusammen mit der MAC-Adresse enthält. (Ich glaube, dies ist für die Unterstützung des "unabhängigen Lernens".) grawity vor 6 Jahren 1
Ich habe es ausprobiert, die OIDs von @ bcs78 geben nur "noSuchInstance" zurück. Wenn ich SNMPWalk auf 1.3.6.1.2.1.17.7.1.2.2.1.2 starte, gibt es eine Reihe von Integer-Werten unter OIDs wie iso.3.6 zurück .1.2.1.17.7.1.2.2.1.2.1.0.0.203.97.24.145 = INTEGER: 52 R.Christes vor 6 Jahren 0
Dies gibt "Kein solches Objekt auf diesem Agenten bei dieser OID verfügbar" zurück. Muss ich etwas auf dem Switch konfigurieren oder muss ich eine bestimmte SNMP-Version verwenden? R.Christes vor 6 Jahren 0
Wenn ich SNMPWalk für die Parend-OID ausführe, gibt es eine Reihe ganzzahliger Werte unter OIDs zurück, die ich nicht wie iso.3.6.1.2.1.17.7.1.2.2.2.2.1.0.128.163.182.231.31 = INTEGER: 52 erkennen kann R.Christes vor 6 Jahren 0
Das war es, vielen Dank für Ihre Geduld :-) R.Christes vor 6 Jahren 0