2017-08-21 3 views
0

J'ai le script ci-dessous en python, le but est de créer un script python en utilisant telnet lib et de sauvegarder une configuration de routeur Cisco dans un fichier externe. Cependant, chaque fois que je lance ce script, il se bloque. Toute aide ou recommandation serait très appréciée.Configuration de sauvegarde réseau - telnetlib (Python)

import telnetlib 
import getpass 
import time 
import os 


ip_add=raw_input('Please enter IP your would like to back up: ') 
os.chdir('/Users/user/Backup_configuration/') 

uname = raw_input('Please enter username for {} :'.format(ip_add)) 
print 'Please enter Password for {} :'.format(ip_add) 
passwd = getpass.getpass() 


connect = telnetlib.Telnet(ip_add) 

connect.read_until('Username: ') 
connect.write(uname+'\n') 

connect.read_until('Password: ') 
connect.write(passwd + '\n') 

connect.write('config t\n hostname changed1\n end \n terminal len 0\n wr mem\n') 
time.sleep(3) 

connect.write('show run\n') 
out = connect.read_all() 


filen= open('telnet_file.txt', 'w') 
filen.write(out) 
filen.close() 

Répondre

0

Vous devez transmettre la valeur du délai d'attente, sinon cela bloquerait l'entrée de l'utilisateur.
Essayez suivante:

connect = telnetlib.Telnet(ip_add, 23, timeout=1) 

telnet lib