Telnet-cisco-switch mit python
Ich bin die Telnetverbindung zu Port cisco switch via python-Skript. Der code geht wie folgt:
#!/usr/bin/python
import getpass
import sys
import telnetlib
HOST = "10.203.4.1"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until("login: ")
tn.write(user + "\n")
if password:
tn.read_until("Password: ")
tn.write(password + "\n")
tn.write("vt100\n")
tn.write("ls\n")
tn.write("exit\n")
print tn.read_all()
Er einfach auflegt, nachdem das Skript ausgeführt. Wie kann ich dies beheben?
Vielleicht Cisco schreiben
Username:
oder Login:
aber dein code wartet login:
. Verwenden print
zu schreiben, auf dem Bildschirm mehr Informationen für Sie - wie "jetzt werde ich warten, für die 'login:'" usw..InformationsquelleAutor deep | 2013-10-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine einfachere Lösung:
Etc.
So haben Sie zu denken, wie Sie sind, das einloggen in den router via telnet. Stellen Sie sicher, dass Sie tun können, eine
telnet 10.203.4.1
von der Kommandozeile aus, dann muss man dieUsername:
Eingabeaufforderung dann diePassword:
Eingabeaufforderung, etc. Wenn Sie sich erfolgreich anmelden, werden Sie in der Lage, um zu sehen, die nächste Aufforderung erhalten, die Sie über telnet. In meinem Programm oben, ich bin manuell Einstellung der hostname zu"deep"
- können Sie verwenden, was Sie mögen. Die nächstechild.expect
im Grunde erwartet, um zu sehen, eine Eingabeaufforderung mit dem Hostnamen.Gibt es irgendeine Methode, um den Hostnamen von dem Schalter über pexpect? Danke.
InformationsquelleAutor Sudipta Chatterjee
Sollten Sie schauen, Trigger: https://trigger.readthedocs.org/en/latest/
Es ist eine automation toolkit für die Interaktion mit der Netzwerk-Geräte, wie cisco-Router/switches:
Überprüfen Sie die Dokumentation für weitere Informationen: https://trigger.readthedocs.org/en/latest/
InformationsquelleAutor Italo Rossi
Zunächst denken Sie bitte über etwas anderes außer telnet. SSH ist eine große drop-in-Ersatz.
Zweitens, um diese pythonic verwenden Sie eine Bibliothek namens pexpect zu tun, diese Sache sehr. Die Letzte Zeile würde verwenden Sie den Befehl .Interaktion() , gain-regler wieder.
Einige Geräte unterstützen nicht die telnet-für "ältere" Gründen. Manchmal sind diese legacy-Gründe sind ein integraler Bestandteil der Unternehmenskultur. Ahhh... - Technologie.
InformationsquelleAutor Back2Basics
link für den code :
Laden Sie das Skript hier
Schritte:
Eine end-Gerät mit installiertem python und verbinden Sie das Endgerät mit router
Telnet konfigurieren und Benutzername und Passwort-Datenbank
Ausführen, python script
InformationsquelleAutor Aniruddh Kadam