BAT-ник для автоматического telnet'a

Тема в разделе "Другие языки", создана пользователем LEXAlForpostl, 14 июл 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Здравствуйте.
    Когда telnet'чусь к 192.168.0.1 происходит запрос пароля.
    Подскажите пожалуйста bat-ник, которыйтелнетился, вводил пасс и запускал команду set reboot.
    :)
     
  2. jik

    jik

    Регистр.:
    11 мар 2009
    Сообщения:
    243
    Симпатии:
    133
    Опробуй эти четыре шага:

    1) в бат-файле пропиши:
    echo password | telnet -l username 192.168.0.1
    2) в бат-файле пропиши:
    telnet -l username 192.168.0.1 <pass.txt
    где pass.txt - текстовый файл, содержащий пароль и перевод строки в конце
    3) Есть такой инструмент Expect, который позволяет с помощью скрипта управлять такими программами как telnet, ftp, и ssh, не обладающими встроенными возможностями автоматического выполнения сценариев. Почитать можно здесь: http://ru.wikipedia.org/wiki/Expect
    4) Используй putty или securecrt
    и безопаснее и сценарии автоматического выполнения есть
     
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Надо будет данный бат файл запускать через РНР, поэтому сторонние программы врядли помогут.
    Первые два способа попробовал - не выходит.
    И, кстати, я не указываю логин при телнете, он сам выбирает...Может поможет))
    Коннекчусь в модему Planet Ade 4400, для того, чтобы сделать рестарт :)
     
  4. jik

    jik

    Регистр.:
    11 мар 2009
    Сообщения:
    243
    Симпатии:
    133
    а нет ли на том сервере, который надо перезагружать, php или perl? Тогда скриптом можно было бы перезагрузить.
     
  5. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    LEXAlForpostl - ты можеш запускать из php один bat который уже будет запускать что угодно как угодно и сколько угодно ... но ябы посоветовал vbs

    Для смены ip ябы посоветовал спец утилиты из комплекта usdownloader хотябы... с любым adsl работает на ура.
     
  6. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Коннекчусь к модему.

    P.S.
    На нём есть такая страничка, где можно нажать кнопочку рестарт, но не знаю какой скрипт надо написать, чтобы нажимал кнопочку рестарт.
    Это надо к РНРшникам, но, как им дать доступ к модему - тоже не знаю)

    Не могу, ибо остальная часть скрипта - на РНР :)

    Можно в этом месте подробнее?)
     
  7. jik

    jik

    Регистр.:
    11 мар 2009
    Сообщения:
    243
    Симпатии:
    133
    положи на сервер такой php-скрипт
    и просто вызывай эту страницу. При вызове произойдет рестарт.

    PHP:
    <?php
    $result 
    shell_exec('shutdown -t 0 -r');
    echo 
    "Status: $result";
    ?>
     
  8. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Это не сервер, а отдельный АДСЛ модем :)
    С данным скриптом, я буду свою тачку в ребут отводить, а мне надо сам модем в ребут :)
     
  9. jik

    jik

    Регистр.:
    11 мар 2009
    Сообщения:
    243
    Симпатии:
    133
    еще варианты:

    1) можно снифером отловить, какой url дергается на модеме при перезагрузке по нажатию кнопки "reboot" в админке модема.

    2) Использовать AutoHotKey http://www.autohotkey.com/

    Вот скрипт для него:

    Код:
    SendMode Input
    Run telnet.exe
    WinWait, C:\WINDOWS\system32\telnet.exe
    BlockInput, on
    ControlSend , ahk_parent, o{SPACE}192.168.1.1{ENTER}, C:\WINDOWS\system32\telnet.exe
    sleep 1000
    WinWait, Telnet 192.168.1.1
    sleep 1000
    ControlSend , ahk_parent, admin{ENTER}, Telnet 192.168.1.1
    sleep 2000
    ControlSend , ahk_parent, admin{ENTER}, Telnet 192.168.1.1
    sleep 2000
    ControlSend , ahk_parent, set reboot{ENTER}, Telnet 192.168.1.1
    sleep 2000
    ControlSend , ahk_parent, logout{ENTER}, Telnet 192.168.1.1
    BlockInput, off
    sleep 2000
    WinClose Telnet
     
  10. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037

    http://www.routercontrol.de/
    http://www.paehl.de/reconnect/

    - готовые комплекты под множество модемов

    Методы смены IP:
    Внешний динамический адрес, прямое подключение по локальной сети.
    Создаем текстовым редактором (Notepad, редактор FAR'а и тд) файлик "reconnect.bat" в нем пишем:
    @echo off
    ipconfig /flushdns
    ipconfig /release
    ipconfig /renew
    Посмотрите на сайте MyIP свой IP адрес. Попробуйте запустить сохраненный файл. Если интернет переподключится и на сайте MyIP загорится новый ИП адрес, то метод Вам подходит.
    В USDownloader'е останавливаем программу, если она работает, жмем "Опции" — "Планировщик", включаем его, если он еще не включен.
    Добавляем задание "Когда" — "Ежедневно", "Событие" — "После закачки файла", "Что делать" — "Выполнить программу", "Имя файла" — выбираем через кнопочку наш reconnect.bat, "Запускать" — "Свернутым", поставить галочку "Ждать окончания".
    Нажимаем "Ок" и "Старт" в главном окне USDownloader'а. Он будет автоматически запускать файл реконнекта, после закачки файла.
    Внешний динамический адрес, подключение через модем или через USB-ADSL.
    Создаем текстовым редактором (Notepad, редактор FAR'а и тд) файлик "reconnect.bat" в нем пишем:
    @echo off
    rasdial "имя_вашего_соединения" /disconnect
    ping -n 20 127.0.0.1 >nul
    rasdial "имя_вашего_соединения" "Логин" "Пароль"
    В 3 строке, в параметре "-n XX" задается пауза. "-n 20" - около 20 секунд. Естественно, что вместо "имя_вашего_соединения" и "Логина" с "Пароль" надо вписать свои реальные данные.
    Посмотрите на сайте MyIP свой IP адрес. Попробуйте запустить сохраненный файл. Если интернет переподключится и на сайте MyIP загорится новый ИП адрес, то метод Вам подходит.
    В USDownloader'е останавливаем программу, если она работает, жмем "Опции" — "Планировщик", включаем его, если он еще не включен.
    Добавляем задание "Когда" — "Ежедневно", "Событие" — "После закачки файла", "Что делать" — "Выполнить программу", "Имя файла" — выбираем через кнопочку наш reconnect.bat, "Запускать" — "Свернутым", поставить галочку "Ждать окончания".
    Нажимаем "Ок" и "Старт" в главном окне USDownloader'а. Он будет автоматически запускать файл реконнекта, после закачки файла.
    Внешний динамический адрес, подключение через LAN-ADSL или через роутеры.
    Роутеров в мире очень много, поэтому какое-то единое решение дать сложно. Выполнить по очереди следующие шаги, есть большая вероятность, что один из вариантов Вам подойдет:
    Попробуйте программу Router Control. Если она поддерживает Ваш модем и при ручной пробе переключает Ваш IP адрес, то создаем файл "reconnect.bat", записываем в него:
    @echo off
    RouterControl.exe /disconnect /connect /quit
    ping -n 3 127.0.0.1 >nul
    В 3 строке, в параметре "-n XX" задается пауза. "-n 3" - около 3 секунд. Пауза подбирается опытным путем — роутер должен успеть перезагрузится и переподключиться за это время.

    По аналогии со 1–2 подпунктами ответа на этот вопрос тестируем реконнект, и если все работает прописываем файл в планировщик (пункты b–e).
    Попробуйте найти свой роутер на сайте Curl Router reconnect. Если Вы найдете там свой роутер, то:
    Слейте Curl в папку USDownloader и разорхивируйте его.
    В папке USDownloader создайте текстовый файл "reconnect.bat", и скопируйте в него скрипт с сайта.
    В скрипте замените "%IP%" на ИП адрес Вашего роутера; "%USER%" на Ваш логин на роутер; "%PWD%" на Ваш пароль на роутер.
    Сохраните "reconnect.bat".
    По аналогии со 1–2 подпунктами ответа на этот вопрос тестируем реконнект, и если все работает прописываем файл в планировщик (пункты b–e).
    Часть модемов управляется через Telnet (через встроенную в Windows утилиту telnet.exe). Можно попробовать подключиться к модему, и если все сработало, написать "reconnect.bat" файл со скриптом для Telnet и по аналогии со 1–2 подпунктами ответа на этот вопрос прописать этот файл в планировщик (пункты b–e).
    Если ничего не получилось, воспользуйтесь Google для поиска название своего роутера. Вполне возможно, что кто-то уже нашел как перезапускать конкретно Ваш роутер, и достаточно будет воспользоваться рекоментациями. Так же можно попросить помощи на форуме Ru-Board в соответствующей теме.

    Первоисточник
    http://www.dimonius.ru/?usdfaq - нада нажать кнопку развернуть всё.
     
Статус темы:
Закрыта.