adminbd

Записи по mssql,oracle,windows и linux

Have a Question?

If you have any question you can ask below or enter what you are looking for!

Как залить настройки на точку доступа cisco через python

Подключаем точку к сети и консольным кабелем. Включаем tftp сервер. Внутр папки ложим подготовленный файл конфигурации.

Как залить настройки на точку доступа cisco через python

После этого запускаем скрипт

import serial
from time import sleep
import sys

# настройки для ком порта
console = serial.Serial(
         port='COM9',
         baudrate=9600,
         parity="N",
         stopbits=1,
         bytesize=8,
         timeout=8
)

console.isOpen()
print(console.name)
sleep(1)
console.write("\r".encode())
sleep(1)
input_data = console.read(console.inWaiting()).decode()
print(input_data)

# команды для CLI
cuser = "admin"
cpass = "incredible"
cmd_en="enable"
cmd_sh_ip ="sh ip int br | include BV"
cmd_conft = "conf t"
cmd_chng_int = "interface BVI1"
cmd_chng_int_ip = "ip address 192.168.4.250 255.255.255.0"
cmd_chng_int_gate = "ip default-gateway 192.168.4.254"
cmd_conft_end = "end"
cmd_conft_wr = "write"
cmd_cp_run_srv = "copy tftp start"
cmd_cp_run_srv_host = "192.168.204.117"
cmd_cp_srv_statup = "copy tftp startup-config"
cmd_cp_configname = "ap_57_01"
cmd_realod= "reload"

def login_in_device(cuser,cpass,input_data):
#поехали
	if 'Username' in input_data:
		console.write(bytes(cuser,'UTF-8'))
	console.write("\r".encode())
	sleep(1)
	input_data = console.read(console.inWaiting()).decode()
	if 'Password' in input_data:
			console.write(bytes(cpass,'UTF-8'))
	console.write("\r".encode())
	sleep(1)
	input_data = console.read(console.inWaiting()).decode()
	print(input_data)

login_in_device(cuser,cpass,input_data)
	
# расширенный режим
console.write(bytes(cmd_en,'UTF-8'))
console.write("\r".encode())
sleep(1)
# смотрим текущтй ИП у интерфейса 
console.write(bytes(cmd_sh_ip,'UTF-8'))
console.write("\r".encode())
sleep(1)
input_data = console.read(console.inWaiting()).decode()
print(input_data)
# режим конфигурирования
console.write(bytes(cmd_conft,'UTF-8'))
console.write("\r".encode())
sleep(1)
# меняем ИП
console.write(bytes(cmd_chng_int,'UTF-8'))
console.write("\r".encode())
sleep(1)
console.write(bytes(cmd_chng_int_ip,'UTF-8'))
console.write("\r".encode())
console.write(bytes(cmd_chng_int_gate,'UTF-8'))
console.write("\r".encode())
sleep(1)
# выходи из режима конфигурирования
console.write(bytes(cmd_conft_end,'UTF-8'))
console.write("\r".encode())
sleep(1)
# записываем измен в стартап конфиг
#console.write(bytes(cmd_conft_wr,'UTF-8'))
#console.write("\r".encode())
#sleep(1)

input_data = console.read(console.inWaiting()).decode()
print(input_data)
# copy config from tftp to startup config
console.write(bytes(cmd_cp_srv_statup,'UTF-8'))
console.write("\r".encode())
sleep(.5)
console.write(bytes(cmd_cp_run_srv_host,'UTF-8'))
console.write("\r".encode())
sleep(.5)
console.write(bytes(cmd_cp_configname,'UTF-8'))
console.write("\r".encode())
# жмем enter для дистенейшена
console.write("\r".encode())
sleep(30)
input_data = console.read(console.inWaiting()).decode()
print(input_data)
if 'Error' in input_data:
	print("4to-to powlo ne tak")	
else:
# reload device
	print("========UWEL V REBOOT===========")
	console.write(bytes(cmd_realod,'UTF-8'))
	console.write("\r".encode())
	sleep(1)
	console.write("\r".encode())

sleep(60)
input_data = console.read(console.inWaiting()).decode()
print(input_data)
sleep(65)
input_data = console.read(console.inWaiting()).decode()
print(input_data)
console.write("\r".encode())
sleep(1)
input_data = console.read(console.inWaiting()).decode()
print(input_data)
login_in_device(cuser,cpass,input_data)
sleep(1)
input_data = console.read(console.inWaiting()).decode()
print(input_data)
sleep(20)



console.close()

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You can use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>