Wie sich jeder Leser dieses Threads denken kann bin ich mit Python noch recht unerfahren. Ob ich auch mit meinem anliegen hier richtig weiß ich auch nicht richtig, daher entschuldige ich mich bereits im voraus dafür.
Ich denke das mir jemand von euch helfen kann. Zu meinem kleinen Projekt :
Ich möchte eine automatisierte Lösung für das Backup eines switches erstellen. Ich habe bereits es geschafft mich via Python an dem gerät anzumelden und auch so weit durchzuhageln bis ich mir die Config Datei runterladen will.
Der switch möchte nach dem befehl "copy flash tftp" die Eingabe von Informationen wie :
source file
tftp server adress
destination file name
Für diese kommen drei einzelne Zeilen im switch jeweils nach der Eingabe der vorhergehenden frage. Und ab da geht mein Script nicht mehr weiter als ob meine antworten nicht mehr weitergereicht werden und der switch auf eine antworte wartet.
Code: Alles auswählen
import telnetlib
HOST = "Geräte IP"
tn = telnetlib.Telnet(HOST)
tn.set_debuglevel(999)
tn.write(b'mein User\n')
tn.read_until(b'Password: ')
tn.write(b'mein PW\n')
tn.write(b'en\n')
tn.write(b'copy flash tftp\n')
print (tn.read_all())
tn.write(b'default.cfg\n')
print (tn.read_all())
tn.write(b'TFTP IP\n')
print (tn.read_all())
tn.write(b'switch.cfg\n')
print (tn.read_all())
tn.write(b'exit\n')
Code: Alles auswählen
Telnet(Geräte IP,23): send b'Mein User\n'
Telnet(Geräte IP,23): recv b"\xff\xfd\x18\xff\xfd \xff\xfd#\xff\xfd'"
Telnet(Geräte IP,23): IAC DO 24
Telnet(Geräte IP,23): IAC DO 32
Telnet(Geräte IP,23): IAC DO 35
Telnet(Geräte IP,23): IAC DO 39
Telnet(Geräte IP,23): recv b'\xff\xfb\x03\xff\xfd\x01\xff\xfd\x1f\xff\xfb\x05\xff\xfd!'
Telnet(Geräte IP,23): IAC WILL 3
Telnet(Geräte IP,23): IAC DO 1
Telnet(Geräte IP,23): IAC DO 31
Telnet(Geräte IP,23): IAC WILL 5
Telnet(Geräte IP,23): IAC DO 33
Telnet(Geräte IP,23): recv b'\xff\xfb\x03'
Telnet(Geräte IP,23): IAC WILL 3
Telnet(Geräte IP,23): recv b'\xff\xfb\x01'
Telnet(Geräte IP,23): IAC WILL 1
Telnet(Geräte IP,23): recv b'Switch login: mein User\r\nPassword: '
Telnet(Geräte IP,23): send b'mein PW\n'
Telnet(Geräte IP,23): send b'en\n'
Telnet(Geräte IP,23): send b'copy flash tftp\n'
Telnet(Geräte IP,23): recv b'\r\n'
Telnet(Geräte IP,23): recv b'en\r\n'
Telnet(Geräte IP,23): recv b'copy flash tftp\r\n' # anweisung für die sicherung
Telnet(Geräte IP,23): recv b'No entry for terminal type "network";\r\nusing vt100'
Telnet(Geräte IP,23): recv b' terminal settings.\r\n'
Telnet(Geräte IP,23): recv b'\r\x00\r\nAlliedWare Plus (TM) 5.4.2 09/25/13 12:57:05\r\n'
Telnet(Geräte IP,23): recv b'\r\nSwitch>en\r\x00\r\nSwitch#copy flash tftp\r\x00\r\nEnter s'
Telnet(Geräte IP,23): recv b'ource file name []:' # --> und ab hier passiert nichts mehr
Ich danke euch für eure Hilfe und wünsche noch einen schönen Tag.
Gruss Dacki