Folgende Problemstellung:
Es soll eine Verbindung zu einem HP Switch hergestellt und anschließend die Tabelle der Mac-Adressen und ihrer Ports ausgelesen werden.
Und hier die eigentlich recht einfache Lösung:
#!/usr/bin/expect
log_user 0spawn telnet 192.168.0.249 23
expect „Press any key to continue“
send „n“expect „Username:“
send „adminn“expect „Password:“
send „kennwortn“send „n“
expect „#“
send „terminal length 999“expect „#“
send „show mac-addressn“log_user 1
expect „#“
send „logoutn“expect „Do you want to log out“
send „y“exit
Wenn man das ganze in eine Datei speichert und anschließend ausführt, dann kann man die Ausgabe umleiten und aus der entstandenen Datei recht einfach die Zuordnung von MAC-Adresse zu Switch-Port herausfinden.
Und wozu das Ganze?
Hat man im Netzwerk mal ein unbekanntes Gerät, dann kann man auf diese Weise herausfinden an welchem Port es zu finden ist bzw. an welchem Port ein weiterer Switch hängt an dem das gesuchte Gerät zu finden ist.
rancid wäre hier zu empfehlen. Macht automatische Logins von HP, Cisco oder Juniper Geräten.
Gruß
besten dank für den tip – das ist dann natürlich die noch viel bessere lösung! 🙂