Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 19.12.2017
Сообщений: 1

Как собрать show run c циски через телнет?

20.12.2017, 17:37. Показов 1520. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Есть задача автоматического сьема конфигов с циски.
Вроде бы худо бедно разобрался как подцепиться телнетом к Циске.
Все пароли прога принимает но на выводе show run прога зависает.
Для диагностики я пробовал конфигурировать тестовые лупбаки (это собственно видно в коде) все прекрасно работает.
То есть, скрипт в принципе то отрабатывает, но почему то не отображается именно show run.
Подскажите пожалуйста как подкрутить скрипт чтоб он выводил содержимое.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import getpass
import telnetlib
import time
 
 
HOST = "10.12.144.18"
user = input("Enter your remote account: ")
password = getpass.getpass("User Password: ")
enable = getpass.getpass("Enable Password: ")
 
tn = telnetlib.Telnet(HOST)
 
tn.read_until(b"Username: ")
tn.write(user.encode('ascii') + b"\n")
if password:
tn.read_until(b"Password: ")
tn.write(password.encode('ascii') + b"\n")
tn.write(b"enable\n")
if enable:
tn.read_until(b"Password: ")
tn.write(enable.encode('ascii') + b"\n")
tn.write(b"terminal length 0\n")
tn.write(b"show run inter loo 11\n")
#tn.write(b"show run inter loo 11\r\n")
#time.sleep(20)
#tn.write(b"conf t\n")
#tn.write(b"inter loo 15\n")
#tn.write(b"desc TEST FROM PYTHON\n")
#tn.write(b"end\n")
#tn.write(b"exit\n")
print(tn.read_all())
Добавлено через 22 часа 20 минут
добрый день.
Позвольте мне переформулировать вопрос.

Я создал питон скрипт которым я цепляюсь на циску, та в свою очередь принимает пароль.

Но вот эта часть кода почему то не отрабатывает(

tn.write(b"terminal length 0\n")
tn.write(b"show run\n")
print(tn.read_all())

подскажите пожалуйста в чем может быть проблема?

Добавлено через 1 час 58 минут
методом проб и оиибок все таки заставил скрипт получать нужные конфиги


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import getpass
import telnetlib
import time
 
_command2='show run'
HOST = "`x.`x.X.X"
user = input("Enter your remote account: ")
password = getpass.getpass("User Password: ")
enable = getpass.getpass("Enable Password: ")
 
tn = telnetlib.Telnet(HOST)
 
tn.read_until(b"Username: ")
tn.write(user.encode('ascii') + b"\n")
if password:
    tn.read_until(b"Password: ")
    tn.write(password.encode('ascii') + b"\n")
tn.write(b"enable\n")
if enable:
    tn.read_until(b"Password: ")
    tn.write(enable.encode('ascii') + b"\n")
tn.write(b"term len 0\n")
tn.write(b"show run\n")
time.sleep(10)
s = tn.read_very_eager()
print (s)
 
tn.close()
Однако, вывод имеет следующий формат.

p routing\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\ n!\r\n!\r\nspanning-tree mode pvst\r\nspanning-tree extend system-id\r\n!\r\nvlan internal allocation policy ascending\r\n!\r\nvlan 199 \r\n!\r\n!\r\n!\r\ninterface Port-channel9\r\n switchport trunk encapsulation dot1q\r\n switchport mode trunk\r\n!\r\ninterface GigabitEthernet1/0/1\r\n switchport access vlan 199\r\n switchport trunk encapsulation dot1q\r\n switchport mode access\r\n!\r\ninterface GigabitEthernet1/0/2\r\n!\r\ninterface GigabitEthernet1/0/3\r\n!\r\ninterface GigabitEthernet1/0/4\r\n!\r\ninterface GigabitEthernet1/0/5\r\n!\r\ninterface GigabitEthernet1/0/6\r\n!\r\ninterface GigabitEthernet1/0/7\r\n!\r\ninterface GigabitEthernet1/0/8\r\n!\r\ninterface GigabitEthernet1/0/9\r\n!\r\ninterface GigabitEther

подскажите пожалуйста как можно подкрутить скрипт что выводил конфиг построчно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2017, 17:37
Ответы с готовыми решениями:

Как соединить аналоговый телефон с аналог АТС через 2 циски?
Привет народ! Есть задачка, помогите справиться пожалуйста. А именно, есть 2 циски 2921, соединены оптикой, одну циску всталена плата...

Доступ через телнет!
Всем привет! Назрел такой вопрос: У меня дома стоит роутер Dlink Nru 2640 (к нему можно подключиться через телнет), можно ли...

MessageBox.Show собрать информацию
Здравствуйте, помогите у меня есть текстбоксы мне нужно чтобы MessageBox.Show обробатывал текст в текстбоксы и выводил всю информацию с...

1
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
22.12.2017, 21:21
AlexeyCCIE, Воспользуйтесь str.strip()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2017, 21:21
Помогаю со студенческими работами здесь

Управлеление роутером asus rt10n через телнет
Всем доброго времени суток. Вопрос след. характера. Как можно через телнет управлять роутером asus rt10n. Проблема в следующем. Я живу в...

Запустить службу телнет сервер через cmd
Как запустить службу телнет сервер через cmd. при введении sc config tlntsvr start= auto пишет Что не так? что нужно сделать?

Подключиться к коммутатору D-link через телнет и получить MAC-адрес на определенном порте
Приветствую! Имеется некий bash скрипт, суть которого подключиться к коммутатору D-link через телнет и вынуть мак адрес на...

Как получить running-config с циски
Столкнулся с такой задачей... Требуется написать скрипт, с помощью которого можно будет получать running-config с циски. Собственно не знаю...

как послать параметр через <a href= 'show.php?id=$idkategoria '>$kategoria </a> ?
как послать параметр через &lt;a href= 'show.php?id=$idkategoria '&gt;$kategoria &lt;/a&gt; Может другая версия PHP виновата ? т.е. что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru