Telnetting с Perl для OLT MA5608T

Мне нужна помощь с Net:Telnet. Пытаюсь подключиться к терминалу Huawei OLT M5608. При использовании обычного telnet с консоли все работает нормально. Я могу подключаться и выдавать команды, но когда я пробую то же самое из Perl, он не подключается, ожидает только тайм-аутов и отображает, что подсказка не совпадает: «Время ожидания совпадения с образцом истекло».
Я пробовал все возможные подсказки, но безуспешно.

С консоли все работает нормально:

      telnet xxx.xxx.xxx.xxx
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
>>User name:root

>>User password:
Huawei Integrated Access Software (MA5608T).
...

Вот мой пример кода:

      use Net::Telnet ();
$remote = new Net::Telnet (Timeout => 5,
                           Errmode => 'return',
                            Dump_Log => 'log.txt');
$remote->open("xxx.xxx.xxx.xxx") or die $remote->errmsg;
$remote->waitfor('/>>User name: $/i') or die $remote->errmsg;
$remote->print("root") or die $remote->errmsg;
$remote->waitfor('/>>User password: $/i') or die $remote->errmsg;
$remote->print("<;-)>") or die $remote->errmsg;
$remote->waitfor('/\$ $/') or die $remote->errmsg;
$remote->print("display idle-timeout") or die $remote->errmsg;
($output) = $remote->waitfor('/\$ $/') or die $remote->errmsg;
print $output;

и cat log.txt

      < 0x00000: ff fb 01 ff  fb 03                                  ▒▒.▒▒.
> 0x00000: ff fd 01 ff  fd 03                                  ▒▒.▒▒.
< 0x00000: 0d 0a 3e 3e  55 73 65 72  20 6e 61 6d  65 3a        ..>>User name:

Как может быть причина?

0 ответов

Другие вопросы по тегам