Автор Тема: Reboot TP-Link MR3220 через URL  (Прочитано 5488 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FEV

  • Пользователь
  • Сообщений: 422
  • Пол: Мужской
  • FEV
    • Просмотр профиля
Reboot TP-Link MR3220 через URL
« : 27 Июнь 2013, 19:33:50 »
Есть проблемка с TP-Link MR3220. Работает он нормально почти. На ночь иногда оставляю на компьютере "медиасервере" задачи на качалку торрентов (т.к. мобильный провайдер разрешает только ночью качать торренты). Интернет получает с данного роутера, через мобильный модем. Суть в том, что иногда ночью Интернет "завсиает". Для устранения этого достаточно перезапустить соединение вручную или ребутнуть роутер. Но ночью как бы спать хочется, и следить, повис или нет Инет нереально... Накатал bat'ник для проверки, есть ли Инет.
Но вот как по команде перезагрузить удаленно роутер? Вот это и есть проблема.
Telnet и SSH роутер не держит. И видимо это не включается нигде в Веб-интерфейсе.
Как автоматом зайти с URL на роутер, я нашел. (http://user:password@192.168.137.1)

Но дальше надо раскопать команду нажатия кнопки Reboot и передать ее так-же в URL.
Фрейм страницы перезагрузки в HTML слегка не догоняю. Может есть, кто может на основе ниже изложенного кода подсказать, какую строку надо передать роутеру?
<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>TL-MR3220</title>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="wed, 26 Feb 1997 08:21:57 GMT">
<link href="/dynaform/css_main.css" rel="stylesheet" type="text/css">
<script language="javascript" src="/dynaform/common.js" type="text/javascript"></script><style type="text/css"></style>
<script language="javascript" type="text/javascript"><!--
if(window.parent == window){window.location.href="http://192.168.137.1";}
function Click(){ return false;}
document.oncontextmenu=Click;
//--></script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript"><!--//
function doSubmit()
{
if(confirm(js_to_reboot="Are you sure to reboot the Router?"))
{
location.href = "/userRpm/SysRebootRpm.htm";
return true;
}
else
{
return false;
}
}
//--></script>
</head>
<body onload="setTagStr(document,'ntw_sys_reboot');LoadHelp('SysRebootHelpRpm.htm'); resize(this);" onresize="resize(this);" marginwidth="0" marginheight="0">
<center>
  <form action="SysRebootRpm.htm" enctype="multipart/form-data" method="get" onsubmit="return doSubmit();">
    <table id="autoWidth" style="width: 100%;">
      <tbody>
        <tr>
          <td class="h1" id="t_title">Reboot</td>
        </tr>
        <tr>
          <td class="blue"></td>
        </tr>
        <tr>
          <td class="info" id="t_notice">Click this button to reboot the device.</td>
        </tr>
        <tr>
          <td class="mbtn"><input name="Reboot" type="submit" class="buttonBig" value="Reboot" id="reboot"></td>
        </tr>
        <tr>
          <td class="blue"></td>
        </tr>
      </tbody>
    </table>
  </form>
</center>


<meta http-equiv="pragma" content="no-cache">


</body></html>
Из кода я разобрал лишь, что мне нужно что-то из:
action="SysRebootRpm.htm" enctype="multipart/form-data" method="get" onsubmit="true"
name="Reboot" type="submit" value="Reboot"
Но как эти чудеса использовать, пока не догоняю. Может кто помочь?

Добавлено позже:
До этого парился 2 дня... А после написания нашел этот код... Все гениальное просто...
http://user:password@192.168.137.1/userRpm/SysRebootRpm.htm?Reboot=reboot:15К чему только циферка "15" не совсем ясно... Может id страницы, куда перенаправляет...
Добавлено позже:
Закрывайте тему. Все нормально отрабатывает.
« Последнее редактирование: 28 Июнь 2013, 05:29:20 от FEV »

Онлайн HardWareMan

  • Модератор
  • Сообщений: 7436
    • Просмотр профиля
Re: Reboot TP-Link MR3220 через URL
« Ответ #1 : 28 Июнь 2013, 13:49:15 »
Ты зашел с заднего двора. А нужно через парадный. Я для себя давным-давно решил эту проблему. Вот как я сделал  текущем варианте, используя свой шлюз:

А до этого, когда я сидел без шлюза, ыла написана специальная служба, которая регистрировалась в системе и вела свой журнал:

Для ее установки запускаем так:
Цитата
rokservice.exe /install /silent
Для ее удаления так:
Цитата
rokservice.exe /uninstall /silent
А в *.ini файл пишем следующую конфу:
Цитата
[MAIN]
TimerInterval=10
Threshold=50
[MODEM]
ModemName=192.168.1.1
ModemUser=admin
ModemPass=admin
ModemPrompt=#
[HOSTS]
Host0=212.19.149.53
Host1=212.19.149.54
Host2=www.ya.ru
Host3=www.mail.ru
Host4=www.google.ru
Host5=
Host6=
Host7=
Host8=
Host9=
А началось все тут.
« Последнее редактирование: 28 Июнь 2013, 13:55:31 от HardWareMan »

Оффлайн FEV

  • Пользователь
  • Сообщений: 422
  • Пол: Мужской
  • FEV
    • Просмотр профиля
Re: Reboot TP-Link MR3220 через URL
« Ответ #2 : 28 Июнь 2013, 17:22:09 »
К сожалению в стандартной прошивке нет подключения по telnet'у :( Я изначально думал именно таким образом перезапускать роутер, только позже нашел в Инете, что увы, и не включатся он (telnet на роутере).
Вот и остался вход с заднего двора :-\

Онлайн HardWareMan

  • Модератор
  • Сообщений: 7436
    • Просмотр профиля
Re: Reboot TP-Link MR3220 через URL
« Ответ #3 : 30 Июнь 2013, 20:30:09 »
Ну, когда-то давно, я собирал статистику с личного кабинета провайдера. Используя сокеты и GET/POST я нормально авторизировался, получал номер сессии и с его помощью проходил сквозь навигацию в меню и снимал страницу с таблицей. Так что не все потеряно.