#import time
from netmiko import ConnectHandler
from netmiko.ssh_exception import NetMikoTimeoutException
from netmiko.ssh_exception import NetMikoAuthenticationException
import sys
import time
import getpass
from datetime import datetime
def NetworkDevice(username,password,IP_Cisco,):
rt = {
'device_type':'cisco_ios',
'username':username,
'password':password,
'ip': IP_Cisco,
}
print('-' * 50)
print(u'[+] connecting to network device {0}...'.format(IP_Cisco))
net_connect = ConnectHandler(**rt)
net_connect.enable()
hostname = net_connect.find_prompt().replace("#", "")
print (u'[+] hostname:{0}'.format(hostname))
timestr = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
cmd = 'write'
filename = (u'{0}_{1}_{2}.txt'.format(IP_Cisco,cmd,timestr))
save = open(r'E:\python1\保存各厂区switch\Cisco\ADM\log/' + filename,'w')
print(u'[+] executing {0} command'.format(cmd))
output = net_connect.send_command(cmd)
time.sleep(2)
save.write(output)
print(u'[+] {0} command executed,result was saved at {1}!'.format(cmd,filename))
save.close()
net_connect.disconnect()
if name == 'main':
print (u'[+] The Program is running.......')
username = input('Username: ')
password = getpass.getpass()
for ips in open(r'IP_Cisco.txt','r'):
start_time = datetime.now()
IP_Cisco = ips.replace('\n', '')
try:
NetworkDevice(username,password,IP_Cisco)
except (EOFError, NetMikoTimeoutException):
print ('Can not connect to Device')
except (EOFError, NetMikoAuthenticationException):
print ('username/password wrong!')
print ("Time elapsed: {0}\n".format(datetime.now() - start_time))
time.sleep(2)