The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Как установить telnet-сессию с комм..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от auto_tips (??) on 18-Июл-11, 08:28 
Есть известная "проблема": из скрипта (php, perl, python и т.п.) средствами самого языка установить telnet-соединение с коммутаторами EdgeCore не получается. Сразу после соединения свитч присылает бинарный "мусор", потом коннект просто висит и отваливается по таймауту. Т.е. даже строки приглашения от коммутатора получить не удается. В то же время тот же самый скрипт может прекрасно работать по телнету с D-Link'ами.

Происходит это потому что edgecorе'ам надо согласовывать параметры терминала при поднятии телнет-сессии. Т.е. сначала (сразу после коннекта на 23-й порт) передать свитчу желаемые параметры сессии - и только после этого он передаст окно приглашения и с ним можно будет работать.

Пример рабочей последовательности параметров:

   0xFF 0xFD 0x03 0xFF 0xFB 0x18 0xFF 0xFB 0x1F 0xFF 0xFB 0x20 0xFF 0xFB 0x21 0xFF 0xFB 0x22 0xFF 0xFB 0x27 0xFF 0xFD 0x05

   0xFF 0xFA 0x18 0x00 0x58 0x54 0x45 0x52 0x4D 0xFF 0xF0

   0xFF 0xFD 0x01 0xFF 0xFC 0x01

Что интересно - в таком виде отлично работается и с edgecore'ами, и с d-link'ами. Хотя для d-link'ов такая "инициализация" и необязательна.

URL: http://storinka.com.ua/telnet-edgecore/
Обсуждается: https://www.opennet.ru/tips/info/2603.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как установить telnet-сессию с коммутатором EdgeCore из скрипта"  +/
Сообщение от Аноним (??) on 18-Июл-11, 08:28 
Мда. Не пробовали настроить в telnet-библиотеке передачу параметров терминала для telnet-подключения?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как установить telnet-сессию с коммутатором EdgeCore из скрипта"  +/
Сообщение от ег on 18-Июл-11, 16:48 
use Net::Telnet::Cisco;

    my $session = new Net::Telnet(
        Telnetmode => 1,
        Errmode => 'return',
        Timeout => 20
     );

Работает с edge-core'ами и не надо городить огород.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Как установить telnet-сессию с коммутатором EdgeCore из скрипта"  +/
Сообщение от erazer (??) on 20-Июл-11, 00:09 
для пассажиров бронетехники: не приходило в голову, что либа не всегда уместна бывает и реализация может быть на сокетах?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Как установить telnet-сессию с коммутатором EdgeCore из скрипта"  +/
Сообщение от Аноним (??) on 20-Июл-11, 14:17 
для пассажиров .... : если беретесь реализовывать Telnet протокол RFC 854 и прочее - на сокетах, то надо понимать что там не просто сокет по которому бегают байтики - а есть еще и свой протокол установки параметров и в таком случае стоит разобраться - не дешевле ли либу притянуть ?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Как установить telnet-сессию с коммутатором EdgeCore из скрипта"  +/
Сообщение от erazer (??) on 20-Июл-11, 17:47 
именно о том что там есть свой протокол, на который есть RFC, речь в общем-то и идет. а либу притянуть, как уже было сказано, бывает не всегда возможно - в таком случае оптимальнее написать упрощенную реализацию на сокетах.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

14. "Как установить telnet-сессию с коммутатором EdgeCore из скрипта"  +/
Сообщение от Аноним (??) on 26-Июл-11, 08:12 
> именно о том что там есть свой протокол, на который есть RFC,
> речь в общем-то и идет. а либу притянуть, как уже было
> сказано, бывает не всегда возможно - в таком случае оптимальнее написать
> упрощенную реализацию на сокетах.

Процитируйте в оригинальной новости слова где говорится что это TELNET protocol и данные последовательности это настройка терминала ?
Автор вывалил кучу байтов не потрудившись разобраться зачем они вообще нужны.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

6. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от Аноним (??) on 20-Июл-11, 14:19 

> Пример рабочей последовательности параметров:
>    0xFF 0xFD 0x03 0xFF 0xFB 0x18 0xFF 0xFB 0x1F
> 0xFF 0xFB 0x20 0xFF 0xFB 0x21 0xFF 0xFB 0x22 0xFF 0xFB
> 0x27 0xFF 0xFD 0x05
>    0xFF 0xFA 0x18 0x00 0x58 0x54 0x45 0x52 0x4D
> 0xFF 0xF0
>    0xFF 0xFD 0x01 0xFF 0xFC 0x01
> Что интересно - в таком виде отлично работается и с edgecore'ами, и
> с d-link'ами. Хотя для d-link'ов такая "инициализация" и необязательна.

что интересно автор не взял на себя труд разобраться в стандарте на Telnet протокол - побыстрому продампил и объявил себя героем. А стоило бы стандарты почитать.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от erazer (??) on 20-Июл-11, 17:51 

> что интересно автор не взял на себя труд разобраться в стандарте на
> Telnet протокол - побыстрому продампил и объявил себя героем. А стоило
> бы стандарты почитать.

автор не объявлял себя героем. автору нужно было решить конкретную задачу - он ее решил. написать собсвтенную полноценную реализацию telnet задачи не стояло.

цель была: имеющимися малыми средствами решить задачу. задача решена, цель достигнута.

кому интересны подробности - тот уже может почитать RFC и пойти дальше, если ему это надо.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

12. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от ram_scan on 25-Июл-11, 11:31 
> автор не объявлял себя героем. автору нужно было решить конкретную задачу -
> он ее решил. написать собсвтенную полноценную реализацию telnet задачи не стояло.

Автор анально удалил зубы мудрости, чего всем и посоветовал.

Собсно подобные анальные манипуляции - каприз автора. Но вот советовать всем энто дело - как минимум аполитично. Как заметили уже вышеотписавшиеся товарищи проблема решается чтением соответствующего RFC.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от Аноним (??) on 26-Июл-11, 08:08 
>> что интересно автор не взял на себя труд разобраться в стандарте на
>> Telnet протокол - побыстрому продампил и объявил себя героем. А стоило
>> бы стандарты почитать.
> автор не объявлял себя героем. автору нужно было решить конкретную задачу -
> он ее решил. написать собсвтенную полноценную реализацию telnet задачи не стояло.
> цель была: имеющимися малыми средствами решить задачу. задача решена, цель достигнута.

как миниум стоило разобраться что означают эти последовательности, дать ссылку на RFC и тп.
И написать что данные устройства требуют полноценного telnet протокола, с такими-то параметрами.
Но это можно заменить на ....
А не выкладывать банальный набор байтов - и объявлять что дескать решил задачу.
Это не решение, это тупая подгонка под результат.
В следующий раз изменится один байт - и что - будем писать новый how-to ?
Да и зачем далеко ходить - в этой новости 3 последовательности.
Автор - "АААУУУУ" - расшифруй что каждая из них делает и когда надо использовать ?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

7. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от biz (??) on 20-Июл-11, 16:31 
А зачем telnet, если есть SNMP ? Используя telnet достаточно плотно - можно свич повесить - проверено.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от erazer (??) on 20-Июл-11, 17:52 
> А зачем telnet, если есть SNMP ? Используя telnet достаточно плотно -
> можно свич повесить - проверено.

фак... потому что вот была необходимость именно по телнету это сделать. кроме того, есть устройства, в которых snmp отсутстует.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от Turbid (ok) on 22-Июл-11, 18:10 
через SNMP D-Link'и тоже раньше прекрасно вешались
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

15. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от anon8 (ok) on 27-Июл-11, 07:06 
надо начинать с того, что D-Link вообще не железо, так - мусор один. Впрочем как и китайские едж-коры.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

16. "Раздел полезных советов: Как установить telnet-сессию с комм..."  +/
Сообщение от an (??) on 27-Июл-11, 08:40 
на этом "не железе" замечательно работают многие провайдеры.
например билайн (экс корбина) давший интернет и телевидение куче клиентов,
подключал и до сих пор подключает их через D-link. И все довольны.
Просто каждому железу - свое место.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Как установить telnet-сессию с коммутатором EdgeCore из скрипта"  +/
Сообщение от zzyyzz email on 08-Янв-12, 19:49 
Проверено, работает на Edge-Core ES3528M
$t = new Net::Telnet (Timeout => 10,Prompt => '/#/');
$t->open("192.168.0.5");
$t->waitfor('/Username:.*$/');
$t->print("admin");
$t->waitfor('/Password:.*$/');
$t->print("12345");
$t->waitfor('/#.*$/');
$t->print("sh sys");
$t->getline(timeout=>10);
@lines = $t->cmd($cmd);
print "<TR><TD><PRE>@lines</PRE></TD></TR>";
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру