1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| #!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
use HTML::Form;
use HTTP::Cookies;
use Data::Dumper;
die ("Usage: $0 <n>\n")
if ( !defined ($ARGV[0]) );
my $host = "http://$ARGV[0]";
my $pass='';
my $cookie = "cookie_".substr($host,11,8).".txt";
# initialisation de l'agent
# on prend celui de IE car l'équipement n'en supporte pas d'autre
my $ua = LWP::UserAgent->new(
agent => 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)',
cookie_jar => HTTP::Cookies->new(
file => $cookie,
autosave => 1,
ignore_discard => 1, # le cookie devrait etre efface a la fin
)
);
my $req = HTTP::Request->new( GET => "$host" );
# execute la requete et recoit la reponse
my $res = $ua->request($req);
die $res->status_line if not $res->is_success;
# le formulaire de login est le premier formulaire de la page
my $form = ( HTML::Form->parse( $res->content, $host ) )[0];
# on remplit les champs
$form->find_input('SessionLoginForm')->value($pass);
$ua->request( $form->click );
# une fois la connection creee avec le cookie,
# on se connecte sur la page qui génère le fichier de conf
$req = HTTP::Request->new(GET => "$host/http_eqt_file_upload.htm");
$req->content_type('application/x-www-form-urlencoded');
# execute la requete et recoit la reponse
$res = $ua->request($req);
die $res->status_line if not $res->is_success;
# le formulaire de login est le premier formulaire de la page
$form = ( HTML::Form->parse( $res->content, $host ) )[0];
# remplit les champs pour récupérer la DB
$form->find_input('EqtFileIpServerForm')->value('10.1.80.24');
$form->find_input('Upload')->value(1);
$form->find_input('EqtFileUploadForm')->value(substr($host,11,8).'.dat');
# valide et renvoie le formulaire
$ua->request( $form->click );
# remplit les champs pour récupérer le Network
$form->find_input('EqtFileIpServerForm')->value('10.1.80.24');
$form->find_input('Upload')->value(2);
$form->find_input('EqtFileUploadForm')->value(substr($host,11,8).'.net');
# valide et renvoie le formulaire
$ua->request( $form->click );
exec("rm $cookie"); |
Partager