77 lines
4.6 KiB
Python
77 lines
4.6 KiB
Python
from netmiko import ConnectHandler, NetmikoAuthenticationException, ReadTimeout, ConnectionException, NetMikoTimeoutException
|
|
from getpass import getpass
|
|
from pprint import pprint
|
|
import sys
|
|
|
|
type = "cisco_ios_telnet"
|
|
host = sys.argv[2]
|
|
username = ""
|
|
password = ""
|
|
|
|
# R1 = {
|
|
# 'device_type':"cisco_ios_telnet",
|
|
# 'ip':"172.16.20.17",
|
|
# 'username':"",
|
|
# 'password':"",
|
|
# 'port': 23,
|
|
# # 'password':
|
|
# # 'secret':'',
|
|
# }
|
|
|
|
R1 = {
|
|
'device_type':type,
|
|
'ip':host,
|
|
'username':username,
|
|
'password':password,
|
|
'port': int(sys.argv[3]),
|
|
# 'password': '',
|
|
'secret':'',
|
|
}
|
|
output = ""
|
|
check=""
|
|
# print(sys.argv)
|
|
# print(R1)
|
|
try:
|
|
# print(R1)
|
|
with ConnectHandler(**R1) as connect:
|
|
|
|
# #change mode
|
|
output += connect.send_command_timing("clear line "+ sys.argv[4], strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("connect p"+sys.argv[5] , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
if "User Name" in output:
|
|
if "press ENTER key" in output:
|
|
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
# output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
# output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("show abc" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35)
|
|
output += connect.send_command_timing("show inventory" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35)
|
|
# output += connect.send_command_timing("enable" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
else:
|
|
output += connect.send_command_timing("show abc" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35)
|
|
output += connect.send_command_timing("enable" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
|
|
if "[yes/no]" in output:
|
|
output += connect.send_command_timing("no" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=10.0, read_timeout=35)
|
|
output += connect.send_command_timing("no" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=10.0, read_timeout=35)
|
|
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35)
|
|
print(output)
|
|
connect.disconnect()
|
|
except NetmikoAuthenticationException:
|
|
print("Netmiko Authentication xxError")
|
|
except NetMikoTimeoutException:
|
|
print("NetMikoTimeoutException xxError")
|
|
except ConnectionRefusedError as err:
|
|
print("Connection Refused xxError") #Connection Refused
|
|
except ValueError:
|
|
print("Mode xxError")
|
|
except ReadTimeout:
|
|
print("xxError: Read Timeout")
|
|
except ConnectionException:
|
|
print("Connection xxError") |