Forcer la reconnection du routeur Linksys
Le 7 août 2008, à 0:19 par Ulhume...
L'idée est de forcer le rédémarrage d'un routeur linksys. Cela n'a plus grand intérêt mais cela peut service à d'autres usages.
#! /usr/bin/perl
use LWP
;
#use LWP::Debug qw(+);
my $browser = LWP
::UserAgent->new;
$browser->credentials('moya.karma-lab.net:80', '', 'root
', 'karma8
%2lab9
*&');
my $router_url='http
://moya.karma
-lab.net
';
sub get_setup
{
my $request = HTTP::Request->new( GET => $router_url."/index.asp" );
my $response = $browser->request($request);
if (!$response->is_success)
{
print "Impossible d'avoir la page d
'index :".$response->status_line."\n";
}
}
sub is_adsl_up
{
my $request = HTTP::Request->new( GET => $router_url."/Status_DSL.asp" );
my $response = $browser->request($request);
if ($response->is_success)
{
my $status=$response->content;
if ($status =~ m/.*share\.nottrained.*/)
{
return 0;
}
}
else
{
print "Impossible d'avoir le status ADSL
:".$response->status_line."\n
";
}
return 1;
}
sub is_ppp_up
{
my $request = HTTP::Request->new( GET => $router_url."/Status_Router.asp
" );
my $response = $browser->request($request);
if ($response->is_success)
{
my $status=$response->content;
if ($status =~ m/.*share\.down.*/)
{
return 0;
}
}
else
{
print "Impossible d
'avoir le status PPP :".$response->status_line."\n";
}
return 1;
}
sub reset_ppp
{
print "Reseting PPP...\n";
get_setup();
my $request = HTTP::Request->new( POST => $router_url."/apply.cgi" );
$request->authorization_basic('root
', 'karma8
%2lab9
*&');
my $headers = $request->headers();
# Simulation d'un navigateur Konqueror. J
'aurais pu mettre
# 'Mozilla
/4.0 (compatible
; MSIE
6.0; Windows NT
5.1)'
# Pour simuler un IE...
$headers->header( 'User
-Agent
','Mozilla
/5.0 (compatible
; Konqueror
/3.4; Linux
) KHTML
/3.4.2 (like Gecko
)');
# Ajoute une liste de contenu supporté (types mime)
$headers->header( 'Accept
', 'text
/html
, image
/jpeg
, image
/png
, text
/*, image
/*, */*');
# Authorize le serveur à renvoyer des contenus compressés. Attention, vous devrez les décompresser vous même. A prendre avec précaution.
$headers->header( 'Accept
-Encoding
','x
-gzip
, x
-deflate
, gzip
, deflate
');
# Type d'encodage caractères
accepté
$headers->header( 'Accept-Charset', 'iso-8859-15, utf-8;q=0.5, *;q=0.5');
# Type de langage accepté
$headers->header( 'Accept-Language', 'fr, en');
# Bien pratique, permet de faire croire au serveur que l'on vient du site www.sourceclick.com
$headers->header('Referer', 'http://moya.karma-lab.net/index.asp');
$request->content_type('application/x-www-form-urlencoded');
$request->content('submit_button=index&change_action=&submit_type=&action=Apply&daylight_time=1&lan_ipaddr=4&vcc_config=&mtu_config=&wan_connection=0&wan_applyonboot=1&wan_encapmode=pppoe&now_encapmode=pppoe&wan_multiplex=llc&wan_qostype=ubr&wan_autodetect=1&pppoe_config=&pppoe_servicename=wanadoo&pppoe_username=USERe&pppoe_password=PASSWORD&pppoe_demand=0&pppoe_redialperiod=20&wan_hostname=moya&wan_domain=karma-lab.net&mtu_auto=1&lan_ipaddr_0=192&lan_ipaddr_1=168&lan_ipaddr_2=154&lan_ipaddr_3=100&lan_netmask=255.255.255.0&lan_proto=static&dhcp_check=&time_zone=-08+1+1&timer_interval=3600&_daylight_time=1');
my $response = $browser->request($request);
if (!$response->is_success)
{
print "Impossible de ré-initialiser le PPP :".
$response->status_line.
"\n";
}
}
$|=1;
if (is_adsl_up
()==0)
{
print "ADSL Down. Nothing to do about that...\n"
}
else
{
print "ADSL Up\n";
if (is_ppp_up
()==0)
{
print "PPP Down.\n";
reset_ppp
();
}
else
{
print "PPP Up. Ok.\n";
}
}
Poster un nouveau commentaire