Подключаем точку к сети и консольным кабелем. Включаем tftp сервер. Внутр папки ложим подготовленный файл конфигурации.
После этого запускаем скрипт
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()
Similar Posts:
- Как сделать что бы настройки cisco ip communicator мог править сам пользователь. Без run as administrator
- Создание n баз из одного бэкапа под разными именами
- Как узнать нагрузку на диски и файловые группы. Ввод-Вывод. Mssql. Где больше всего IO
- Как сделать автоматическую очистку почты exchange при заполнении больше 90 процентов ящика.
- Как узнать в какой файловой группе больше всего записи и чтения. Немного дополнил скрипт