Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться Net-Telnet 
:(
    Опции темы
kloponoid
Дата 24.9.2009, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.9.2009

Репутация: нет
Всего: нет



Есть некая железка с которой надо собирать данные по теленету. Для понимания сути решил пока потренироваться на маршрутизаторе.
Код
#!/usr/bin/perl -w
use Net::Telnet ();
$username = "cisco";
$passwd = "cisco";
$tel = new Net::Telnet(Dump_Log=>"filelog");
$tel->open(Host => "192.168.1.11");
$tel->login($username, $passwd);
$tel->print("sh ver");

Результат filelog
Код

< 0x00000: ff fb 01 ff  fb 03 ff fd  18 ff fd 1f               ЪШ.ЪШ.ЪЩ.ЪЩ.
> 0x00000: ff fd 01 ff  fd 03 ff fc  18 ff fc 1f               ЪЩ.ЪЩ.ЪЭ.ЪЭ.
< 0x00000: 0d 0a 0d 0a  55 73 65 72  20 41 63 63  65 73 73 20  ....User Access
< 0x00010: 56 65 72 69  66 69 63 61  74 69 6f 6e  0d 0a 0d 0a  Verification....
< 0x00020: 55 73 65 72  6e 61 6d 65  3a 20                     Username:
> 0x00000: 63 69 73 63  6f 0d 0a                               cisco..
< 0x00000: ff fe 18 ff  fe 1f                                  ЪЧ.ЪЧ.
< 0x00000: 63                                                  c
< 0x00000: 69                                                  i
< 0x00000: 73 63                                               sc
< 0x00000: 6f                                                  o
< 0x00000: 0d 0a 50 61  73 73 77 6f  72 64 3a 20               ..Password:
> 0x00000: 63 69 73 63  6f 0d 0a                               cisco..
< 0x00000: 0d 0a 0d 0a  63 69 73 63  6f 35 33 33  30 3e        ....cisco5330>

Что я делаю не верно, авторизация проходит, а дальше ничего. Каким методом надо посылать  команды? 
Изучение http://search.cpan.org/~jrogers/Net-Telnet...b/Net/Telnet.pm  не помогло.

PM MAIL   Вверх
ginnie
Дата 24.9.2009, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 6
Всего: 49



kloponoid, возможно правильнее будет использовать cmd() вместо print()? Предположу, что для Cisco лучше использовать Net::Telnet::Cisco.


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
kloponoid
Дата 24.9.2009, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.9.2009

Репутация: нет
Всего: нет



Пробовал и cmd(), результат такой же. Я чего упускаю, но вот что понять не могу.
Net::Telnet::Cisco хорошо, но только cisco была взята исключительности ради примера, в итоге железо будет совсем другим, и нужен простой подход, строку послал, принял.

PM MAIL   Вверх
ginnie
Дата 24.9.2009, 11:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 6
Всего: 49



kloponoid, логика такая: попробовать Net::Telnet::Cisco, если заработает правильно, посмотреть, как оно внутри работает, из-за чего возникают проблемы при использовании Net::Telnet. Разбирать работающее решение гораздо проще, чем пытаться решить "влоб".


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
dron000
Дата 13.11.2009, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



В твоем случае  можно решить с помощью чередования: 
Код

$tel->print('$string');$tel->waitfor('.....');  

Обрати внимание на приглашение сервера и то что отдает сервер в ответ.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0914 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.