Форум программистов, компьютерный форум CyberForum.ru

Python: Сети

Войти
Регистрация
Восстановить пароль
 
xseed
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 14
#1

Как организовать операцию ветвления в телнет сессии - Python

04.03.2016, 03:00. Просмотров 659. Ответов 4
Метки нет (Все метки)

Добрый день!
Возникла потребность условного исполнения в телнет сеансе. Т.е. я коннекчусь к устройству, а далее я хочу вводить команды в зависимости от того, что перед этим было прочитано в консоли. Например,
Код
tn = telnetlib.Telnet("10.251.58.18", 23)
tn.read_until(b"login:",5)
tn.write(b"admin\n")
tn.read_until(b"Password:",5)
tn.write(b"admin\n")

# Здесь я хочу организовать ветвление:
# if
tn.read_until(b"admin@RGR>",5)
# then
tn.write(b"show configuration | display set\n ")
# elseif
tn.read_until(b"admin_pnza#>",5)
# then
tn.write(b"show running-config\n ")
# но не знаю как.

s1=tn.read_until(b"admin@RGR>",50)
tn.close();
sys.stdout = open('10.251.58.18.txt', 'w')
print(s1)
Поскажите, возможен ли сабж? Если не затруднит, то с кусочком кода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2016, 03:00     Как организовать операцию ветвления в телнет сессии
Посмотрите здесь:

Реализовать операцию вставки нового элемента в отсортированный список и операцию извлечения из списка данных C++
Lisp Организовать массив записей, содержащий информацию о результатах сдачи последней сессии вашими товарищами
C# Ввести два числа плюс операцию и выполнить операцию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Marinero
Модератор
Эксперт NIX
1602 / 1399 / 397
Регистрация: 02.03.2015
Сообщений: 4,416
04.03.2016, 13:54     Как организовать операцию ветвления в телнет сессии #2
В bash есть expect, в pythonpexpect

Добавлено через 1 минуту
Python
1
2
answer = tn.read_until(b"admin@RGR>",5)
if answer == <что-то>:
xseed
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 14
07.03.2016, 16:18  [ТС]     Как организовать операцию ветвления в телнет сессии #3
Пока еще не разобрался, можно попутный вопрос: как в telnet сессии считать все до текущей позиции курсора, если заранее неизвестно, что выведет команда tn.write?
Marinero
Модератор
Эксперт NIX
1602 / 1399 / 397
Регистрация: 02.03.2015
Сообщений: 4,416
08.03.2016, 14:11     Как организовать операцию ветвления в телнет сессии #4
Цитата Сообщение от xseed Посмотреть сообщение
считать все до текущей позиции курсора
Считать куда?
xseed
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 14
08.03.2016, 20:18  [ТС]     Как организовать операцию ветвления в телнет сессии #5
Python
1
s1=tn.read_until(b"all_to_cursor",50)
Yandex
Объявления
08.03.2016, 20:18     Как организовать операцию ветвления в телнет сессии
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru