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";
  }
}

Commentaires

Poster un nouveau commentaire

Le contenu de ce champ est gardé secret et ne sera pas montré publiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • To highlight piece of code, just surround them with <code type="language"> Your code &tl;/code>>. Language can be java,c++,bash,etc... Everything Geshi support.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Textual smileys will be replaced with graphical ones.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.

Plus d'informations sur les options de formatage

Connexion utilisateur
Les derniers bavardages...