0 / 0 / 0
Регистрация: 19.12.2017
Сообщений: 1
1

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

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

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Есть задача автоматического сьема конфигов с циски.
Вроде бы худо бедно разобрался как подцепиться телнетом к Циске.
Все пароли прога принимает но на выводе 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2017, 17:37
Ответы с готовыми решениями:

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

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

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

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

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

1
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
22.12.2017, 21:21 2
AlexeyCCIE, Воспользуйтесь str.strip()
0
22.12.2017, 21:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2017, 21:21
Помогаю со студенческими работами здесь

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

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

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

Как задать програмнно отобразить поверх других форм форму вызванную через Show()?
Как задать программно отобразить поверх других форм форму вызванную через Show()? Использую C++...

если в коде ниже ob->show(); -> возвращает указатель "p" в "ob"? то почему для доступа к show не пишут так ob->->show();
#include &lt;exception&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru