Кому нужен этот промт и как он работает?
Данный промт предназначен для разработчиков и инженеров, которые хотят быстро создать Python-скрипт сервера Looking Glass. Такой сервер позволяет удалённо запускать сетевые команды на Cisco-устройствах и получать результаты. Это полезно для сетевых администраторов, системных инженеров и специалистов по безопасности.
Промт решает задачи упрощения удалённого управления сетью — он автоматизирует подключение по SSH к выбранному устройству из списка, позволяет выполнить диагностические команды (ping, traceroute, show BGP) с заданным IP-адресом и возвращает результаты пользователю. Таким образом, сокращается время на ручное управление и проверку состояния сети.
Принцип работы основан на запросе IP-адреса, выборе нужного Cisco-устройства из файла, затем выбор команды для выполнения с этим IP. Скрипт подключается по SSH, используя учётные данные из отдельного файла, исполняет команду и выводит ответ.
Готовый к использованию промт
1 2 3 4 5 6 7 8 |
Напишите скрипт на Python для сервера looking glass со следующими функциями: - Принимать на ввод IP-адрес для выполнения команд. - Подключаться к Cisco-устройствам по SSH, используя учетные данные из отдельного файла. - Список доступных Cisco-устройств хранится в отдельном файле. - Запрашивать у пользователя выбор Cisco-устройства из списка для подключения. - Предлагать выбрать команду для выполнения на выбранном устройстве с использованием указанного IP-адреса. - Поддерживаемые команды: ping, traceroute и show BGP. - Выводить результат выполнения команды с устройства обратно пользователю. |
Как использовать промт и на что обратить внимание
Для эффективного использования промта рекомендуется:
- Убедиться, что файлы с учётными данными и списком устройств структурированы правильно и доступны скрипту.
- Проверить корректность IP-адреса перед запуском команд для избежания ошибок.
- Понимать, что выполнение команд требует устойчивого SSH-соединения и разрешений на устройствах.
- Учитывать, что команды show BGP могут отображать большой объем информации — предусмотреть удобный вывод или логирование.
- Обращать внимание на таймауты при подключении и выполнение команд, особенно в большой сети.
Возможные ограничения: нестабильное сетевое соединение может приводить к прерыванию сессии SSH, а неправильные учётные данные — к отказу в доступе. Команды зависят от функциональности конкретного Cisco-устройства и его конфигурации.
Примеры использования
Пример 1. Диагностика доступности IP-адреса с выбранного Cisco-маршрутизатора с помощью команды ping.
1 2 3 4 5 6 7 |
Напишите скрипт на Python для сервера looking glass со следующими функциями: - Принимать на ввод IP-адрес для выполнения команд. - Подключаться к Cisco-устройствам по SSH, используя учетные данные из отдельного файла. - Список доступных Cisco-устройств хранится в отдельном файле. - Запрашивать у пользователя выбор Cisco-устройства из списка для подключения. - Предлагать выбрать команду для выполнения "ping" на выбранном устройстве с использованием указанного IP-адреса. - Выводить результат выполнения команды с устройства обратно пользователю. |
Пример 2. Проверка маршрута до IP-адреса с выбранного устройства с использованием команды traceroute.
1 2 3 4 5 6 7 |
Напишите скрипт на Python для сервера looking glass со следующими функциями: - Принимать на ввод IP-адрес для выполнения команд. - Подключаться к Cisco-устройствам по SSH, используя учетные данные из отдельного файла. - Список доступных Cisco-устройств хранится в отдельном файле. - Запрашивать у пользователя выбор Cisco-устройства из списка для подключения. - Предлагать выбрать команду для выполнения "traceroute" на выбранном устройстве с использованием указанного IP-адреса. - Выводить результат выполнения команды с устройства обратно пользователю. |
Пример вывода нейросети по этому промту
Ниже показан пример, как может выглядеть сгенерированный Python-скрипт по данному заданию.
✅ Example:
import paramiko
import jsondef load_credentials(filepath):
with open(filepath, ‘r’) as f:
return json.load(f)def load_devices(filepath):
with open(filepath, ‘r’) as f:
return json.load(f)def choose_device(devices):
print(«Доступные устройства:»)
for idx, device in enumerate(devices):
print(f»{idx + 1}. {device[‘name’]} ({device[‘ip’]})»)
choice = int(input(«Выберите устройство по номеру: «)) — 1
return devices[choice]def choose_command():
commands = [‘ping’, ‘traceroute’, ‘show bgp’]
print(«Доступные команды:»)
for idx, cmd in enumerate(commands):
print(f»{idx + 1}. {cmd}»)
choice = int(input(«Выберите команду по номеру: «)) — 1
return commands[choice]def execute_ssh_command(device, credentials, command):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(device[‘ip’], username=credentials[‘username’], password=credentials[‘password’])
stdin, stdout, stderr = ssh.exec_command(command)
result = stdout.read().decode()
ssh.close()
return resultdef main():
ip_addr = input(«Введите IP-адрес для команды: «)
devices = load_devices(‘devices.json’)
credentials = load_credentials(‘credentials.json’)
device = choose_device(devices)
command_choice = choose_command()if command_choice == ‘ping’:
cmd = f»ping {ip_addr} repeat 5″
elif command_choice == ‘traceroute’:
cmd = f»traceroute {ip_addr}»
else: # show bgp
cmd = «show ip bgp summary»output = execute_ssh_command(device, credentials, cmd)
print(«Результат выполнения команды:»)
print(output)if __name__ == «__main__»:
main()
Примечание: результат примерный и может отличаться.
Итог: зачем использовать этот промт?
Этот промт помогает быстро создать удобный и функциональный Python-скрипт для Looking Glass сервера с возможностью выбора Cisco-устройства и выполнения ключевых команд. Использование промта экономит время на разработку, упрощает удалённое управление и диагностику сети, а также снижает риск ошибок.
Основное преимущество: Быстрая автоматизация удалённого управления Cisco-устройствами с удобным вводом IP и выбором команд.