Asmax 1004G - resetowanie połączenia - ciąg dalszy

Adam Dudzik | Hardware | 4 sierpnia 2010

W zwiazku z wpisem http://www.blog.dudzik.org.pl/asmax-1004g-resetowanie-polaczenia.html pojawiło się parę próśb o napisanie analogicznego skryptu dla systemu Windows. Najprościej (tj. bez użycia osobnych aplikacji) można to zrealizować skryptem .vbs o poniższej treści:


set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd"
WScript.Sleep 100
WshShell.AppActivate "C:\Windows\system32\cmd.exe"
WScript.Sleep 100
WshShell.SendKeys "telnet 192.168.1.254{ENTER}"
WScript.Sleep 100
WshShell.SendKeys "admin{ENTER}" 'login
WScript.Sleep 100
WshShell.SendKeys "xxx{ENTER}" 'haslo
WScript.Sleep 100
WshShell.SendKeys "adsl connection --up{ENTER}" '
WScript.Sleep 200
WshShell.SendKeys "logout{ENTER}" '
WScript.Sleep 200
WshShell.SendKeys "{ENTER}" '
WScript.Sleep 200
WshShell.SendKeys "exit{ENTER}" '

Prosze zmienic ip router (tutaj jest domyślne), login i hasło na właściwe. Skrypt zadziała tylko w przypadku gdy na routerze włączymy dostęp za pomocą usługi telnet.

Poniżej gotowy plik do sciagniecia

Resetuj router

Asmax 1004G - resetowanie połączenia

Adam Dudzik | Hardware, Linux | 25 lipca 2010

W przypadku mojego poprzedniego routera ADSL (Linksys AG241) konieczne było symulowanie przeglądarki komputerowej i akcji użytkownika - router ten nie posiadał opcji dostępu poprzez telnet lub ssh.

Zrealizowalem to skryptem nastepujacej treści:

#!/usr/bin/perl -w

use strict;
use warnings;
use LWP;
use HTTP::Request::Common;

our $ua = LWP::UserAgent->new;

$ua->request(POST 'http://haslo:login@192.168.2.1/apply.cgi',
[submit_button => 'Status_Router', submit_type => 'disconnect',
change_action => 'gozila_cgi', wan_proto => 'pppoe']);

sleep 5;

$ua->request(POST 'http://haslo:login@192.168.2.1/apply.cgi',
[submit_button => 'Status_Router', submit_type => 'connect',
change_action => 'gozila_cgi', wan_proto => 'pppoe']);

Aktualnie korzystam z routera Asmax 1004g (mówi się że darowanemu koniowi nie zagląda się w zęby ale ten router to całkiem dobry sprzęt - dzięki Netio :)) i na szczęście umożliwia on zarządzanie poprzez telnet lub ssh.

Wykorzystując to pierwsze cały wyżej cytowany skrypt zmiescił się w jednej linijce :)

#!/bin/bash
(sleep 2; echo login; sleep 2; echo haslo; sleep 2; echo "adsl connection --up"; sleep 50) | telnet 192.168.2.1

W ten sam sposób można resetować wiekszość (wszystkie?) routery oparte o chipsety Broadcom i udostepniające zarządzanie poprzez telnet.

Polski Wordpress
Oparte na WordPress | Theme by Roy Tanck. Tłumaczenia dokonał azWeb dla Polski support WordPress