faq обучение настройка
Текущее время: Вс авг 03, 2025 02:21

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: Пн ноя 10, 2008 17:42 
Не в сети

Зарегистрирован: Ср дек 29, 2004 13:18
Сообщений: 115
Откуда: Saint-Petersburg
Раньше D-Link 3xxx имели приглашение вида "D?S-1234:3#",
т.е. модель и уровень доступа.

Теперь появился DGS-3100, у которого приглашение берётся из System name,
то есть может быть, к примеру, таким: "Center_4/2#".

Вопрос: какие символы разрешается использовать в приглашениии на новых коммутаторах?
Требуется для изменения маски prompt в программе, заходящей на коммутаторы через Telnet.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 10, 2008 22:43 
Не в сети

Зарегистрирован: Пн сен 24, 2007 19:07
Сообщений: 133
Откуда: Москва
не совсем ответ, так как не экспериментировали со спец символами,
но на DES-3526/3550 так же возможно
Код:
config command_prompt


сейчас проверил на DES-3526
Код:
._+~`!@#$%^&*()[]<>;:|\/

без проблем


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 11, 2008 23:16 
Не в сети

Зарегистрирован: Ср дек 29, 2004 13:18
Сообщений: 115
Откуда: Saint-Petersburg
То есть получается, что формат приглашения теперь такой:
любые символы от chr(33) до chr(127), и '#' на конце строки?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 12, 2008 00:55 
Не в сети

Зарегистрирован: Пн сен 24, 2007 19:07
Сообщений: 133
Откуда: Москва
в DES-3526 нельзя двойные кавычки, после приглашения
Код:
:userlevel#

ну и лимит по длине 16 символов


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 22, 2008 12:42 
Не в сети

Зарегистрирован: Чт окт 12, 2006 11:32
Сообщений: 29
Откуда: С-Пб
Пользуюсь pm Net::Telnet

На все свичи DLINK логинится, а на эти нет. Отличается вид приглашения.

Можно ли в будущих прошивках сменить User Name на стандарный UserName
вид приглашения?

Консоль на DGS-3100 по другому работает.
В связи с этим может кто-нибудь привести пример выполнения например sh sw
и обработки этих данных в perl?

_________________
D-Link Foreva


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 22, 2008 22:39 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Пт май 13, 2005 15:49
Сообщений: 20616
Откуда: D-Link, Moscow
Приведите пожалуйста конкретный пример что на что сменить.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 26, 2008 20:03 
Не в сети

Зарегистрирован: Чт окт 12, 2006 11:32
Сообщений: 29
Откуда: С-Пб
Demin Ivan писал(а):
Приведите пожалуйста конкретный пример что на что сменить.


User Name на UserName

Во всех свичах UserName а на 3100-24TG User Name с проблеом между User и Name.

т.е. надо чтобы было UserName.

Да и вообще если честно консоль работает не понятно.

Выполняем комманду dis cli...
В логах perl рисует следующее.

> 0x00000: 64 69 73 20 63 6c 69 0d 0a dis cli..

< 0x00000: 2a *

< 0x00000: 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d *******...

< 0x00000: 0d 0a 4b 4f 53 54 59 34 34 20 31 2e 31 34 33 23 ..KOSTY 1.143#
< 0x00010: 20

< 0x00000: 64 d

< 0x00000: 69 i

< 0x00000: 73 s

< 0x00000: 20

< 0x00000: 63 c

< 0x00000: 6c l

< 0x00000: 69 i

< 0x00000: 0d 0a ..

< 0x00000: 0d .

< 0x00000: 0d 0a ..

< 0x00000: 0d 0a ..

< 0x00000: 0d .

< 0x00000: 0d 0a ..

< 0x00000: 0d 0a ..

< 0x00000: 53 75 63 63 65 73 73 2e 0d 0a Success...

< 0x00000: 4b 4f 53 54 59 34 34 20 31 2e 31 34 33 23 20 KOSTY 1.143#

т.е. получается что я задаю выполнять комманду и он после этого сразу выводит приглашение (KOSTY), потом он её выполняет и опять выводит приглашение KOSTY.

В результате получить данные не получается, т.к. приглашение выводится сразу после ввода команды. А perl и всякие expect функции работают по принципу ожидания приглашения.

Так работает только на этих свичах. На остальных ничего подобного нет.
Как с этим боротться?
Как будто он комманды в фоновом режиме запускает.

_________________
D-Link Foreva


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 04, 2008 12:47 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Ср май 10, 2006 16:40
Сообщений: 12251
Откуда: D-Link, Moscow
Изменение запроса имени пользователя я запросил, а вот второй вопрос не совсем понятен.
Пришлите мне пожалуйста свой скрипт, ибо при ручном использовании телнета на снифере видно, что приглашение появляется только один раз, в самом конце, после слова Success


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 05, 2008 10:54 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Ср май 10, 2006 16:40
Сообщений: 12251
Откуда: D-Link, Moscow
Судя по всему, вот те звёздочки, что у Вас во 2-3 строках - это считывание эха на ввод пароля, а затем вывод приглашения. Вам надо просто их из буфера считать перед тем как команду вводить.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 27, 2009 17:05 
Не в сети

Зарегистрирован: Ср дек 29, 2004 13:18
Сообщений: 115
Откуда: Saint-Petersburg
Telnet-интерфейс у D-Link 3100 изменился настолько,
что пользоваться им в пакетном режиме стало невозможно:

1) при входе вместо "Username" пишется "User name",
из-за чего с ним перестал работать стандартный модуль Perl-Net-Telnet
Потребовалось накладывать на него патч.

2) Все D-Link 3xxx, кроме 3100, имеют приглашение, описываемое регулярным выражением
Код:
/\x0d(\x1B\[7mCTRL\+C.+\x1B\[0m All\s*|D.S-\w+:[[:alnum:]]+#)$/

Теперь, после мучительных экспериментов, подобран такой шаблон:
Код:
/[\x0d\x0a]+([A-Za-z0-9 \-_:]+[>#]\s*|\x1B\[\dmCTRL\+C.+\x1B\[0m All\s*|D.S-\w+:[[:alnum:]]+#)$/

Однако даже это приглашение не работает, если была введена неправильная команда
(L2/L3 определяется с помощью "show ospf area"), так как после вывода подсказки
выдаётся строка с приглашением, перед которым вставлен ESC-символ 0x1B,
а за ним повторяется неправильная команда:
Код:
...
< 0x00000: 20 20 76 6c  61 6e 5f 74  72 75 6e 6b  20 20 20 20    vlan_trunk   
< 0x00010: 20 20 20 20  20 20 20                                     

< 0x00000: 56 6c 61 6e  20 54 72 75  6e 6b 0d 0a               Vlan Trunk..

< 0x00000: 1b 5b 42 44  47 53 2d 33  31 30 30 23  20 73 68 6f  .[BDGS-3100# sho
< 0x00010: 77 20 6f 73  70 66 20 61  72 65 61                  w ospf area

Каким регулярным выражением такое отследить? :?

Просьба вернуть тот убогий telnet-интерфейс, который был раньше,
или привести работающий пример на базе Perl-Net-Telnet. :(


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 26


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB