bonjour,
débutant en perl depuis tres peu de temps, j’essaye de mettre en place un script permettant de récupérer mon adresse publique, et de la comparer à celle d’un fichier de configuration (vsftp).
Voici mon code :
##########################
##### IP PUBLIQUE ACTUELLE #####
##########################
use LWP::Simple;
#my $page=get("http://www.adresseip.com/"); OU page de la livebox
my $page=get("http://192.168.1.1");
if ($page=~m/(\d+\.\d+\.\d+\.\d+)/)
{
print "IP publique actuelle : $1\n"." ".$2;
}
###########################
##### IP PUBLIQUE DU FICHIER #####
###########################
my $ligne;
my $nom_fichier="/etc/vsftp.conf";
$ligne = `grep -i "pasv_address" $nom_fichier`;
my $file_ip;
my $longueur_ip = length($ligne);
$file_ip=substr($ligne,13,$longueur_ip-1);
print "IP vsftpdae actuelle : $file_ip";
############################
##### COMPARAISON DES DEUX #####
############################
if($ip == $file_ip)
{
$res_cmp="1";
}
else
{
$res_cmp="0";
}
print $1." ET ".$file_ip." donnent ".$res_cmp."\n";
Le probleme viens lors de la comparaison, qui ne s’effectue pas correctement (toujours valeur a 0). Je suppose que c’est dû au type de “$1” (ip publique que je recupère).
Avez vous une idée ???
Merci
Ced[/code]