Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Перезагрузка роутера ASUS RX3041 (http://forum.oszone.net/showthread.php?t=260188)

crackmax 08-05-2013 18:14 2146670

Перезагрузка роутера ASUS RX3041
 
У меня такая проблемка, нужно каждое утро перезагружать роутер, хотелось бы автоматизировать
эти действия.
Итак у меня роутер ASUS RX3041, по telnet коннектится на 80 порт, можно на роутер зайти
по http. Но вот перезагрузить из командной строки не выходит.

Были опробованы следующие методы описанные тут
http://kimkarus.ru/docsharp/208-2012-08-19-07-04-23

Буду благодарен за посильную помощь в решении вопроса, система Windows XP или Server 2003

Iska 08-05-2013 19:04 2146701

Воспользуйтесь поиском в разделе по ключевому слову «telnet»: http://forum.oszone.net/search.php?q...&childforums=1.

crackmax 08-05-2013 22:38 2146812

Спасибо воспользовался поиском и нашел массу интересных и познавательных статей, но ни один скрипт не работает на моем роутере ASUS RX-3041, может что толковое посоветуете, если у вас был личный опыт общения и настройки этого Роутера.

За любой дельный совет и помощь в решении этой проблемы буду очень благодарен.
Мне лишь нужно его перезапускать в определенное время, чем будет осуществляться перезапуск фактически значения не имеет (только не вручную).

lxa85 08-05-2013 22:50 2146820

crackmax,
Цитата:

Цитата crackmax
но ни один скрипт не работает на моем роутере ASUS RX-3041 »

приведите пример скриптов, и способ их запуска. Гадать в слепую - никакого удовольствия.
Что пробовали, какие утилиты, команды и т.д.?

Iska 08-05-2013 23:40 2146845

crackmax, у Вас какой из трёх? У одного, по крайней мере, telnet точно заявлен (есть ли внутри reset/restart/reboot — вопрос второй).

crackmax 09-05-2013 22:07 2147354

Вот например использовал этот скрипт
Set WshShell = CreateObject("WScript.Shell")
RetCode = WshShell.Run("cmd", 1, False)
WScript.Sleep 2000
WshShell.SendKeys "telnet{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "o 192.168.1.100 80{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "admin{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "password{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "reboot{ENTER}"

Результат использования скрипта, подключается к роутеру, но перезагрузки не происходит к сожалению...
выдает следующее reboot переключение режима "Ctrl+J"

crackmax 13-05-2013 11:05 2149163

Воспользовался поиском по ключевому слову "telnet"
Вот нашел скрипт следующий

Пример bat созданного у меня:
start http://admin:admin@192.168.1.100/
start http://192.168.1.100/userRpm/SysRebootRpm.htm?reboot=1

Результат роутер не перезагружается (появляется пустое окно с вводом логина и пароля и на этом всё), и главное непонятно почему???

К вопросу какая конкретно у меня модель роутера отвечаю
Вот эта http://ru.asus.com/Networks/Wired_Ro...specifications

Если есть у кого решение этого вопроса, буду очень благодарен.
P.S. Все роутеры разные и к каждому нужен свой подход, у меня пока не получается решить этот вопрос.

lxa85 13-05-2013 12:52 2149224

crackmax, а я что то не нахожу telnet сервера в описании.
На нем точно доступен telnet ?
Мы говорим об одном и том же?
Об удаленной командной строке?
telnet, в общем смысле, это программа для посыла информации на любой порт.
Будь то ftp, http, e-mail, не важно. Если порт открыт, то к нему можно подключиться.
одна из программ называется telnet.
Если мы говорим про удаленное управление роутером, то возникает понятие Telnet Server (его просто так назвали по созвучности наиболее употребимой программы telnet)
И когда telnet подключается к Telnet Server, то мы у себя, на удаленном компьютере получаем консоль управления. И уже в ней выполнять команды перезагрузки роутера.
Цитата:

Цитата crackmax
Итак у меня роутер ASUS RX3041, по telnet коннектится на 80 порт, можно на роутер зайти
по http »

http сервер как раз работает на 80ом порту.
Т.е. при желании, можно получить html код страниц.
Т.ч. вам нужен не telnet, а смотреть в сторону автоматизации действий. AutoIt например.

crackmax 16-05-2013 13:11 2150970

Ну вот наконец то появились определенные успехи в перезагрузке роутера (я думаю)
Итак нашел вот такой bat файл со следующим содержимым
curl http://admin:admin@192.168.1.150/do_cmd.htm -d "CMD=WAN_CON&GO=sys_status.htm&action=4"
curl http://admin:admin@192.168.1.150/do_cmd.htm -d "CMD=WAN_CON&GO=sys_status.htm&action=3"

При выполнении данного файла вышло следующее
Сообщение
C:\curl>curl http://admin:admin@192.168.1.150/do_cmd.htm -d "CMD=WAN_CON&GO=sys_status.htm&action=4"
<HTML>
<HEAD>
<TITLE>Result</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<style type="text/css"><!--
INPUT.btn {
BACKGROUND-COLOR: #b2b6c7;
}
--></style>
<link rel=stylesheet type=text/css href=style.css>
</HEAD>

<SCRIPT LANGUAGE="JavaScript">

var err_msg = ["Error","Save Error","Out of Range", "Timed Out","Not Administrator","Invalid File"];
var ok_msg=["OK","Save OK","Ping Result: Alive","System Restarting","Email Sent","Success","OK","Connecting"];

var rc=0;
var go;
var nowait='0';
var cmd='SYS_ULD';
cmd='WAN_CON';
nowait='';
function gurl(u) { if (u=='' ) u = 'sys_status.htm'; location=u; }
var count=0;
var rods= ['|','/','-','\\'];
function chk_upgrade()
{
if (count<120 && rc==-4 ) //not timeout?
{
setTimeout("chk_upgrade()", 500);
document.getElementById("MSG").innerHTML = rods[(count++ )&3];
return;
}
show_result();
}
function show_result()
{
var msg,btn;
if (rc>=0) {
if (rc>=ok_msg.length ) rc=0;
msg=ok_msg[rc];
switch (rc)
{
case 3: //reboot
case 5: //upgrade
case 6: //config restore/default

btn='<table width=90 height=16>\
<TD background="images/bu_blue.gif" width=82 height=16 valign=center>\
<A HREF=javascript : onclick=gurl(go) valign=center class=t8b_blue>\
<center>Reboot</center></A></TD>\
<td></td>\
</table>';
break;
default:

btn='<table width=90 height=16>\
<TD background="images/bu_blue.gif" width=82 height=16 valign=center>\
<A HREF=javascript : onclick=gurl(go) valign=center class=t8b_blue>\
<center>Continue</center></A></TD>\
<td></td>\
</table>';
break;
}
}
else
{
var i=-1-rc;
if (i>=err_msg.length) i=0;
msg=err_msg[i];
btn='<table width=90 height=16>\
<TD background="images/bu_blue.gif" width=82 height=16 valign=center>\
<A HREF=javascript : onclick=history.go(-1) valign=center class=t8b_blue>\
<center>Continue</center></A></TD>\
<td></td>\
</table>';
}
document.getElementById("MSG").innerHTML=msg+" !";
document.getElementById("BTN").innerHTML=btn;
}

</SCRIPT>

<BODY BGCOLOR=#CEE7FF>
<TABLE width=100% height=106>
<TR>
<TD nowrap height=27 valign=middle align=center class=title1>
<font><b>
<div id=STS></div>
<div id=MSG></div>
</b></font>
</TD>
</TR></TABLE>
<div id=BTN align=center></div>

<script>
if (cmd=='SYS_ULD') // save the uploaded
{
document.getElementById("STS").innerHTML = "Uploading..";
}
rc=0;
go='sys_status.htm';
if (nowait==1 && rc>=0)
gurl(go);
else
{
if (cmd!='SYS_ULD') // save the uploaded
show_result();
else
{
rc=-4;
chk_upgrade();


document.getElementById("BTN").innerHTML='<iframe frameborder=0 width=0 height=0 src=savefi.htm onload="count=100;"></iframe>';

}
}
</script>

</BODY>
</HTML>

C:\curl>curl http://admin:admin@192.168.1.150/do_cmd.htm -d "CMD=WAN_CON&GO=sys_status.htm&action=3"
<HTML>
<HEAD>
<TITLE>Result</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<style type="text/css"><!--
INPUT.btn {
BACKGROUND-COLOR: #b2b6c7;
}
--></style>
<link rel=stylesheet type=text/css href=style.css>
</HEAD>

<SCRIPT LANGUAGE="JavaScript">

var err_msg = ["Error","Save Error","Out of Range", "Timed Out","Not Administrator","Invalid File"];
var ok_msg=["OK","Save OK","Ping Result: Alive","System Restarting","Email Sent","Success","OK","Connecting"];

var rc=0;
var go;
var nowait='0';
var cmd='SYS_ULD';
cmd='WAN_CON';
nowait='';
function gurl(u) { if (u=='') u = 'sys_status.htm'; location=u; }
var count=0;
var rods=['|','/','-','\\'];
function chk_upgrade()
{
if (count<120 && rc==-4) //not timeout?
{
setTimeout("chk_upgrade()", 500);
document.getElementById("MSG").innerHTML = rods[(count++)&3];
return;
}
show_result();
}

function show_result()
{
var msg,btn;
if (rc>=0) {
if (rc>=ok_msg.length) rc=0;
msg=ok_msg[rc];
switch (rc)
{
case 3: //reboot
case 5: //upgrade
case 6: //config restore/default

btn='<table width=90 height=16>\
<TD background="images/bu_blue.gif" width=82 height=16 valign=center>\
<A HREF=javascript : onclick=gurl(go) valign=center class=t8b_blue>\
<center>Reboot</center></A></TD>\
<td></td>\
</table>';
break;
default:
btn='<table width=90 height=16>\
<TD background="images/bu_blue.gif" width=82 height=16 valign=center>\
<A HREF=javascript : onclick=gurl(go) valign=center class=t8b_blue>\
<center>Continue</center></A></TD>\
<td></td>\
</table>';
break;
}
}
else
{
var i=-1-rc;
if (i>=err_msg.length) i=0;
msg=err_msg[i];
btn='<table width=90 height=16>\
<TD background="images/bu_blue.gif" width=82 height=16 valign=center>\
<A HREF=javascript : onclick=history.go(-1) valign=center class=t8b_blue>\
<center>Continue</center></A></TD>\
<td></td>\
</table>';
}
document.getElementById("MSG").innerHTML=msg+" !";
document.getElementById("BTN").innerHTML=btn;
}

</SCRIPT>

<BODY BGCOLOR=#CEE7FF>
<TABLE width=100% height=106>
<TR>
<TD nowrap height=27 valign=middle align=center class=title1>
<font><b>
<div id=STS></div>
<div id=MSG></div>
</b></font>
</TD>
</TR></TABLE>
<div id=BTN align=center></div>

<script>
if (cmd=='SYS_ULD') // save the uploaded
{
document.getElementById("STS").innerHTML = "Uploading..";
}

rc=7;
go='sys_status.htm';


if (nowait==1 && rc>=0)
gurl(go);
else
{
if (cmd!='SYS_ULD') // save the uploaded
show_result();
else
{
rc=-4;
chk_upgrade();
document.getElementById("BTN").innerHTML='<iframe frameborder=0 width=0 height=0 src=savefi.htm onload="count=100;"></iframe>';

}
}
</script>

</BODY>
</HTML>


Вопрос Как правильно дописать этот батник чтобы роутер таки ушел в перезагрузку?
Если у кого есть варианты прошу сюда.

crackmax 20-05-2013 18:02 2153084

Ну чтож решение вопроса с перезагрузкой роутера пришло неожиданно, как всегда просто и гениально и Универсально!

Итак в решении вопроса мне помогла программа AutoClickExtreme 6.20.00

Подробнее - эта программа записывает все действия пользователя в файл, потом можно воспроизвести этот файл или сделать батник и поместить в планировщик или воспользоваться встроенным в программу планировщиком.

bat - файл делается так
Поместите в текстовый файл с расширением ".bat" следующие инструкции командной строки:

rem на всякий случай посылаем команду остановиться
start C:\"Program Files"\AutoClickExtreme\AutoClicker.exe –stop

rem стартуем на Воспроизведение нужную нам Запись
start C:\"Program Files"\AutoClickExtreme\AutoClicker.exe -play D:\Arch\aips\автокликер.aip

rem или стартуем Плейлист
start C:\"Program Files"\AutoClickExtreme\AutoClicker.exe -play D:\Arch\aips\тестирование.plal

Всем участникам обсуждения данного вопроса большое спасибо за помощь!

Iska 20-05-2013 20:02 2153148

Цитата:

Цитата crackmax
c лекарством »

crackmax, Вы Правила не читаете?


Время: 23:28.

Время: 23:28.
© OSzone.net 2001-