tomjoe
Goto Top

Remote Mac Adresse eines Cisco Ports herausfinden

Hallo,
ich habe ein kleines Problem und hoffe hier Hilfe zu finden.
Ich möchte, am liebsten mit einem kleinen Kommandozeilentool, herausfinden welche MAC Adresse der Port eines Cisco Switches hat, an dem mein Rechner angeschlossen ist. So eine Art "remote getmac". Das ganze geht leider nicht mit Anpingen, danach arp -a, weil der Port des Switches keine eigene IP hat. Auch die Möglichkeit mir die die Adresse auf dem Switch selbst anzeigen zu lassen hilft mir leider nicht weiter, es muss vom angeschlossenen PC aus abgefragt werden. Wenn ich mit wireshark aber mal ein wenig mitschreibe, finde ich die gewünschte Info. Leider bekomme ich es mit dem Tool nicht hin (auf Kommandozeilenebene), eine einfache Ascii Ausgabe zu erzeugen, die ich dann wieder auslesen könnte.

Der Hintergrund der Frage ist folgender:
Ich möchte einige Rechner standortgebunden beim Start spezielle Batchdateien abarbeiten lassen und deswegen habe ich an die MAC des Switchports gedacht. Im Einsatz sind Cisco 3560G Switche.

Gruß
Thomas

Content-Key: 120545

Url: https://administrator.de/contentid/120545

Printed on: April 25, 2024 at 13:04 o'clock

Member: aqui
aqui Jul 15, 2009 at 17:15:10 (UTC)
Goto Top
Scheinbar ist dir die Funktion eines Switches nicht wirklich bekannt, oder ??
Ein Switch arbeitet auf dem OSI Layer 2 (wir reden hier mal von L2 Switching und nicht von L3 Switching) und hat selber auf dem Port keine Mac Adresse bzw. die die er hat ist vollkommen irrelevant und spielt bei einer Kommunikation mit Endgeräten keinerlei Rolle.
Folglich kannst du auch keine Mac Adresse auslesen oder irgendwie anders sichtbar machen.
Der Switch führt intern eine sog. Mac Database wo er alle Mac Adressen der Endgeräte gespeichert hat mit dem dazugehörigen Port, so das er sofort ein Forwarding Entscheidung treffen kann wo ein eingehendes Paket hinsoll.
In dem Paket selber steht ja niemals die Mac Adresse eines Switches sondern immer die Mac Adressen der Endgeräte.

Was du also vorhast ist mehr oder weniger sinnlos und überflüssig.
Deine Erklärung des Hintergrunds der Frage ist auch mehr oder weniger diffus.
Was soll die Ausführung einer Batch Datei mit der Mac Adresse des Switches zu tun haben ???

Wenn du wirklich die Mac rausbekommen willst dann telnettest du über ein Script den Switch, führst ein sh int x/y aus und filterst nach den Keywort macaddress.
Was das bringen soll ist aber schleierhaft ?!
Member: TomJoe
TomJoe Jul 15, 2009 at 22:57:00 (UTC)
Goto Top
Moin,
nun ja, wenn ich das alles wüsste was dort vor sich geht würde ich ja nicht fragen, oder??

Du sagst der Port hat keine MAC Adresse, zum Ende schreibst Du dann aber "telnette doch mal, führe ein sh int xy aus und filtere nach macaddress".
Also ist doch eine da? Ja, ist sie, mit telnet kann ich sie auch abfragen.
Ich möchte sie aber nicht auf dem Switch abfragen, sondern von dem Rechner der an dem jeweiligen Port hängt. Und wie ich schon schrieb, kann ich mit Wireshark bzw. Ethereal die MAC auch sehen

Zum Thema Standortgebunden. Wieso sagst Du, daß es sinnlos und überflüssig ist? Du hast das Problem mölicherweise nicht verstanden. Ich möchte nunmal den Standort des PC feststellen. Das kann ich am eigentlich nur, wenn ich feststelle an welchem Port er sich gerade befindet. Und wenn der Rechner an Standort A ist, soll er Batch A
ausführen, an Standort B eben Batch B. Was diese Batches machen ist zweitrangig, das stimmt wohl, aber deswegen ist es nicht sinnlos.

Also bitte nicht so von oben herab Dinge niedermachen, ist gar nicht nötig.

Gruß
Thomas
Member: aqui
aqui Jul 16, 2009 at 10:44:29 (UTC)
Goto Top
OK, das bringt etwas Licht ins Dunkel.
Die Port Mac ist nur dann relevant wenn du Layer 3 Switching (Routing) machst mit dem 3560 ansonsten ist sie irrelevant weil eben wie gesagt die eigene Mac Adresse des Switches in einer Layer 2 Kommunikation keinerlei Rolle spielt.
Folglich bringt es auch nix wenn du sie auslesen würdest.
Den Weg zum Ziel kannst du also gleich vergessen.

Was geht ist die Mac Forwarding Database per SNMP (oder telnet) mit einem Script aus dem Switch auszulesen, was recht einfach ist. Welche OID das auf dem 3560G ist kannst du ganz einfach aus der SNMP Geräte MIB erkennen die frei erhältlich ist. (Bei Telnet ist es einfach ein show mac )
Dann durchsuchst du diesen Output im Script nach der PC Mac Adresse und hast dann den ausgehenden port des Switches und damit deine Funktion die du willst.

So wird ein Schuh draus für dein Vorhaben..aber nicht mit der Switch Mac...das führt geradewegs in die Sackgasse !