The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Net::Telnet побороть не могу - help, pl..., !*! Agressor, 11-Сен-03, 18:37  [смотреть все]
Hi All!  Подскажите - как телнетом при помощи скрипта (или еще как:-) зайти в систему и передать login и passwd а затем команду. Для чего надо? - есть xDSL модем, у которого иногда виснет интерфейс тот который в кабель (PPPoE), а eth0 к машине живой остается. Вот и надо его при отсутствии пинга ребутнуть без участия человека...
Подсказали копать в сторону Perl  Net::Telnet.
С Perl'ом никогда дела близко не имел, но все же наваял скриптик:
Запускаю так: ./script login passwd

#!/usr/bin/perl
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 20);
$t->open("192.168.0.10");
$t->login($login, $password);
$t->cmd("reboot");

и проблемка в том что он по таймауту вываливается:
timed-out waiting for password prompt at ./script line 5
создается впечатление, что "некому нажать enter" после ввода пароля.
Что посоветуете?

P.S.   Прошу прощения за ламерский вопрос...

  • Net::Telnet побороть не могу - help, pl..., !*! Alex, 11:24 , 12-Сен-03 (1)
    >#!/usr/bin/perl
    >use Net::Telnet ();

    #инициализировать переменные
    my $login = shift or die "Login name required";
    my $password = shift or die "Password required";

    >$t = new Net::Telnet (Timeout => 20);
    >$t->open("192.168.0.10");
    >$t->login($login, $password);
    >$t->cmd("reboot");

  • Net::Telnet побороть не могу - help, pl..., !*! nekto, 10:58 , 13-Сен-03 (3)
    >Hi All!  Подскажите - как телнетом при помощи скрипта (или еще
    >как:-) зайти в систему и передать login и passwd а затем
    >команду. Для чего надо? - есть xDSL модем, у которого иногда
    >виснет интерфейс тот который в кабель (PPPoE), а eth0 к машине
    >живой остается. Вот и надо его при отсутствии пинга ребутнуть без
    >участия человека...
    >Подсказали копать в сторону Perl  Net::Telnet.
    >С Perl'ом никогда дела близко не имел, но все же наваял скриптик:
    >
    >Запускаю так: ./script login passwd
    >
    >#!/usr/bin/perl
    >use Net::Telnet ();
    >$t = new Net::Telnet (Timeout => 20);
    >$t->open("192.168.0.10");
    >$t->login($login, $password);
    >$t->cmd("reboot");
    >
    >и проблемка в том что он по таймауту вываливается:
    >timed-out waiting for password prompt at ./script line 5
    >создается впечатление, что "некому нажать enter" после ввода пароля.
    >Что посоветуете?
    >
    >P.S.   Прошу прощения за ламерский вопрос...


    try to use expect
    instead of perl-net::telnet
    :
    expect...
    send ...

    примеры есть





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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