Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Konventionen

Hintergrund

Details der MIB-Variablen, einschließlich OIDs (Object Identifiers)

Abrufen der Portnummer, für die eine MAC-Adresse ermittelt wurde

Schrittweise Anleitung

Zugehörige Informationen

Einführung

In diesem Dokument wird beschrieben, wie Sie mit dem Simple Network Management Protocol (SNMP) die Portnummer eines Cisco Catalyst-Switches abrufen, von dem Sie die MAC-Adresse kennen.

Voraussetzungen

Anforderungen

Die Leser dieses Dokuments sollten folgende Themen kennen:

- So erhalten Sie VLANs mithilfe von SNMP von einem Catalyst Switch

- Verwendung der Community-String-Indizierung mit SNMP

- Allgemeine Verwendung des Befehls SNMP Get und walk

Verwendete Komponenten

Dieses Dokument gilt für Catalyst Switches mit regulärem Catalyst OS (CatOS) oder Cisco IOS® Software. Die Software unterstützt die BRIDGE-MIB und die IF-MIB.

Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:

- Catalyst 3524XL mit Cisco IOS Software Release 12.0(5)WC5a

- Net-SNMP Version 5.0.6

Hinweis: Informationen zum Bezug dieser Software finden Sie unter Net-SNMP .

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Konventionen

Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.

Hintergrund

Weitere Informationen zum Abfragen der Tabelle mit dem Content-Addressable Memory (CAM), der VLANs und aller zugehörigen MIBs, z. B. der CISCO-VTP-MIB und der BRIDGE-MIB, finden Sie im Abschnitt "Background" im Dokument How To Get Dynamic CAM Entries (CAM Table) for Catalyst Switches Using SNMP.

Details der MIB-Variablen, einschließlich OIDs (Object Identifiers)

.1.3.6.1.2.1.17.4.3.1.1

dot1dTpFdbAddress OBJECT-TYPE

-- FROM BRIDGE-MIB

-- TEXTUAL CONVENTION MacAddress

SYNTAX          OCTET STRING (6)

MAX-ACCESS      read-only

STATUS          Mandatory

DESCRIPTION    "A unicast MAC address for which the bridge has forwarding

and/or filtering information."

::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) dot1dBridge(17) dot1dTp(4)

dot1dTpFdbTable(3) dot1dTpFdbEntry(1) 1 }

.1.3.6.1.2.1.17.4.3.1.2

dot1dTpFdbPort OBJECT-TYPE

-- FROM BRIDGE-MIB

SYNTAX          Integer

MAX-ACCESS      read-only

STATUS          Mandatory

DESCRIPTION    "Either the value "0", or the port number of the port on which

a frame having a source

address equal to the value of the corresponding instance of

dot1dTpFdbAddress has been seen.

A value of "0" indicates that the port number has not been learned,

but that the bridge does

have some forwarding/filtering information about this address (that is,

in the StaticTable).

Implementors are encouraged to assign the port value to this

object whenever it is

learned, even for addresses for which the corresponding value of

dot1dTpFdbStatus is not learned(3)."

::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) dot1dBridge(17) dot1dTp(4)

dot1dTpFdbTable(3) dot1dTpFdbEntry(1) 2 }

.1.3.6.1.2.1.2.2.1.1

ifIndex OBJECT-TYPE

SYNTAX      InterfaceIndex

MAX-ACCESS  read-only

STATUS      current

DESCRIPTION      "A unique value, greater than zero, for each interface.  It

is recommended that values are assigned contiguously

starting from 1.  The value for each interface sub-layer

must remain constant at least from one re-initialization of

the entity's network management system to the next re-

initialization."

::= { ifEntry 1 }

.1.3.6.1.2.1.17.1.4.1.2

dot1dBasePortIfIndex OBJECT-TYPE

SYNTAX  INTEGER

ACCESS  read-only

STATUS  mandatory

DESCRIPTION

"The value of the instance of the ifIndex object,

defined in MIB-II, for the interface corresponding

to this port."

::= { dot1dBasePortEntry 2 }

.1.3.6.1.2.1.31.1.1.1.1

ifName OBJECT-TYPE

SYNTAX      DisplayString

MAX-ACCESS  read-only

STATUS      current

DESCRIPTION    "The textual name of the interface.  The value of this

object should be the name of the interface as assigned by

the local device and should be suitable for use in commands

entered at the device's `console'.  This might be a text

name, such as `le0' or a simple port number, such as `1',

depending on the interface naming syntax of the device.  If

several entries in the ifTable together represent a single

interface as named by the device, then each will have the

same value of ifName.  Note that for an agent which responds

to SNMP queries concerning an interface on some other

(proxied) device, then the value of ifName for such an

interface is the proxied device's local name for it.

If there is no local name, or this object is otherwise not

applicable, then this object contains a zero-length string."

::= { ifXEntry 1 }

Abrufen der Portnummer, für die eine MAC-Adresse ermittelt wurde

Schrittweise Anleitung

Führen Sie die Schritte in diesem Abschnitt aus, um mithilfe von SNMP die Portnummer abzurufen, auf der eine MAC-Adresse erfasst wurde. Beachten Sie, dass sich die Portnummer in VLAN1 befindet.

Hinweis: Führen Sie in den Befehlen in diesem Abschnitt folgende Schritte aus:

- public ist der Read Community String.

- @1 ist der VLAN 1-Teil des Read Community Strings.

- Crumpy ist der Gerätemittelname.

Hinweis: Sie können auch die IP-Adresse für diesen Hostnamen verwenden.

Hinweis: Im Abschnitt Zusammenfassung werden die Werte verwendet, die in der Befehlsausgabe kursiv angezeigt werden.

1. Abrufen der VLANs Verwenden Sie den Befehl snmpwalk für das vtpVlanState-Objekt (.1.3.6.1.4.1.9.9.46.1.3.1.1.2 ):

%snmpwalk -c public crumpy .1.3.6.1.4.1.9.9.46.1.3.1.1.2

CISCO-VTP-MIB::vtpVlanState.1.1 = INTEGER: operational(1)

CISCO-VTP-MIB::vtpVlanState.1.3 = INTEGER: operational(1)

CISCO-VTP-MIB::vtpVlanState.1.7 = INTEGER: operational(1)

CISCO-VTP-MIB::vtpVlanState.1.10 = INTEGER: operational(1)

...

Hinweis: Dieser Befehl verwendet die Community String-Indexierung. Der Befehl verwendet außerdem vtpVlanState, der über die OID .1.3.6.1.4.1.9.9.46.1.3.1.1.2 verfügt. Wenn Sie die MIBs in Ihr Netzwerkmanagementsystem (NMS) geladen haben, können Sie statt der OID den Objektnamen verwenden. Geben Sie stattdessen den folgenden Befehl ein:

%snmpwalk -c public@1 crumpy vtpVlanState

Hinweis: Sie können die Objektnamen auch in den Schritten 2 bis 6 verwenden.

2. Geben Sie diesen Befehl ein, um die MAC-Adresstabelle abzurufen, indem Sie erwägen, dass der Port zu VLAN1 gehört:

snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.4.3.1.1

17.4.3.1.1.0.0.12.7.172.8 =  Hex: 00 00 0C 07 AC 08

17.4.3.1.1.0.1.2.27.80.145 =  Hex: 00 01 02 1B 50 91

17.4.3.1.1.0.1.3.72.77.90 =  Hex: 00 01 03 48 4D 5A

17.4.3.1.1.0.1.3.72.221.191 =  Hex: 00 01 03 48 DD BF

...

Hinweis: Geben Sie nach dem Community String die entsprechende VLAN-Nummer an. In diesem Beispiel ist es VLAN1.

Der Befehl listet alle MAC-Adressen auf, die an allen Ports erfasst wurden, die zu VLAN 1 gehören.

3. Geben Sie diesen Befehl ein, um die Bridge-Port-Nummer für VLAN 1 zu ermitteln:

snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.4.3.1.2

17.4.3.1.2.0.0.12.7.172.8 = 13

17.4.3.1.2.0.1.2.27.80.128 = 13

17.4.3.1.2.0.1.2.27.80.145 = 13

17.4.3.1.2.0.1.2.163.145.225 = 13

...

Hinweis: VLAN 1 ist dot1dTpFdbPort , oder .1.3.6.1.2.1.17.4.3.1.2.

4. Geben Sie diesen Befehl ein, um den Bridge-Port dem ifIndex, OID .1.3.6.1.2.1.2.2.1.1 zuzuordnen:

snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.1.4.1.2

17.1.4.1.2.13 = 2

17.1.4.1.2.14 = 3

17.1.4.1.2.15 = 4

17.1.4.1.2.16 = 5

Dieser Befehl fragt den dot1dBasePortIfIndex ab, der über die OID .1.3.6.1.2.1.17.1.4.1.2 verfügt.

5. Verwenden Sie den Befehl walk mit ifName, um den ifIndex-Wert mit einem korrekten Portnamen zu korrelieren.

Geben Sie den folgenden Befehl ein:

Hinweis: Der ifName hat die OID .1.3.6.1.2.1.31.1.1.1.

snmpwalk -c public@1 crumpy .1.3.6.1.2.1.31.1.1.1.1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.1 = VL1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.2 = Fa0/1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.3 = Fa0/2

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.4 = Fa0/3

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.5 = Fa0/4

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.6 = Fa0/5

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.7 = Fa0/6

...

6. Verknüpfen Sie eine MAC-Adresse mit dem Port, an dem die Adresse abgerufen wurde.

- In Schritt 1 lautet die MAC-Adresse:

17.4.3.1.1.0.0.12.7.172.8 = Hex: 00 00 0C 07 AC 08

- Ab Schritt 2 weist der Bridge-Port darauf hin, dass die MAC-Adresse zu Bridge-Port-Nummer 13 gehört:

17.4.3.1.2.0.0.12.7.172.8 = 13

- In Schritt 3 hat die Bridge-Port-Nummer 13 ifIndex-Nummer 2:

17.1.4.1.2.13 = 2

- In Schritt 4 entspricht ifIndex 2 dem Port Fast Ethernet 0/1:

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.2 = Fa0/1

Schlussfolgerung

Die MAC-Adresse 00 00 0C 07 AC 08 wird auf Port Fa0/1 erfasst.

Vergleichen Sie diese Schlussfolgerung mit den Ergebnissen von:

- Der Befehl show cam dynamic für CatOS-Switches

- Der Befehl show mac für Cisco IOS Software-Switches

Hier ist die Beispielausgabe:

crumpy# show mac

Dynamic Address Count:                 58

Secure Address Count:                  2

Static Address (User-defined) Count:   0

System Self Address Count:             51

Total MAC addresses:                   111

Maximum MAC addresses:                 8192

Non-static Address Table:

Destination Address  Address Type  VLAN  Destination Port

-------------------  ------------  ----  -------------------

0000.0c07.ac08 Dynamic 1 FastEthernet0/1

0001.021b.5091       Dynamic          1  FastEthernet0/1

0001.0348.4d5a       Dynamic          1  FastEthernet0/1

0001.0348.ddbf       Dynamic          1  FastEthernet0/1

0001.972d.dfae       Dynamic          1  FastEthernet0/1

0002.55c6.cfe7       Dynamic          1  FastEthernet0/1

0002.7d61.d400       Dynamic          1  FastEthernet0/1

…

Zugehörige Informationen

- SNMP-Objekt-Navigator

- Technischer Support und Dokumentation - Cisco Systems