Connaître son fai (fournisseur d'accès à internet)

Description

      • MODIFICATION DU CODE SOURCE ***


J'ai modifié les fonctions de récupération de l'IP et de l'hôte DNS de façon à rendre le code PHP plus compatible envers les serveurs PHP.


Cette source permet la détection de votre fournisseur d'accès depuis un programme VB se servant du résultat d'une page PHP.

Le script PHP utilise la commande "gethostbyaddr()" qui permet de connaître son nom d'hôte. Le résultat est ensuite analysé afin de reconnaître le nom de votre FAI.
Ma base de donnée des FAI en fonction des noms d'hôte est de loin incomplète mais permet déjà de reconnaître les principaux FAI. Si votre FAI n'est pas reconnu, le programme affichera simplement l'adresse web du FAI au lieu de son nom.

Ce projet m'est utile dans la réalisation d'un autre projet qui permet l'envoi de rapports de configuration automatisés par e-mail. Mon problème était que pour utiliser la fonction mail, le serveur E-Mail et le provider doivent correspondre puisque les serveur ne font plus de relais.

Avec cet outil, on peu à présent déterminer le FAI et avec un peu de jugeotte utiliser le serveur mail approprié.

J'espère que vous aurez compris le but de programme et j'espère également avoir l'heureuse surprise de vous voir me donner les informations manquantes à ma recherche, à savoir

les signatures DNS manquantes de la liste suivante :

AOL = cache-prs-ac08.proxy.aol.com
Bluewin = 98.108.77.83.cust.bluewin.ch
Cablecom(swissonline) = 62-2-184-71.business.cablecom.ch dclient80-218-137-40.hispeed.ch
COLT France = host.12.37.23.62.rev.coltfrance.com
Club Internet = f02v-4-169.d3.club-internet.fr
Cybernet =
Econophone =
Fnac =
Free = lns-th2-4f-81-56-218-46.adsl.proxad.net
Freesurf =
Green =
Intergga = cable-ggar48-043.intergga.ch
Liberty Surf =
Magnet =
Noos = e228.dhcp212-198-149.noos.fr
tg-netcache-01.noos.net
Profitel =
SecurePoP = spfwsail01.securepop.ch
Solnet =
Sunrise = adsl-XX-XXX-XXX-XX.adslplus.ch
pop-zh-15-1-dialup-71.freesurf.ch
Sympatico = Toronto-HSE-pppXXXXXXX.sympatico.ca
Tiscali Suisse = adsl-35-76-fixip.tiscali.ch
Tiscali France = dyn-xxx-xx-xxx-xxx.ppp.tiscali.fr
Tele2 France = d80-170-255-173.cust.tele2.fr
Urbanet =
Vidéotron = modemcableXXX.XXX-XXX-XXX.mc.videotron.ca
VTX = adsl-soholight-1-c58-p225.vtx.ch
Wanadoo = ADijon-106-1-29-20.w81-248.abo.wanadoo.fr
World Online =
9 Telecom =

ainsi vous contribuerai à l'amélioration de la reconnaissance FAI sur votre système.

Egalement si vous connaissez l'adresse des seveurs SMTP des FAI ci-dessus ou d'autres, faites-les moi connaître. Merci

Source / Exemple :


<?

if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != ""){  
	$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];  
	$host = @gethostbyaddr($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]);  
	}
else{
	$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];  
	$host = @gethostbyaddr($HTTP_SERVER_VARS["REMOTE_ADDR"]);
	}

//ancienne méthode de récupération de l'hôte et de l'IP
//méthode pas 100% compatible avec tous les serveurs PHP
//
//$ip = getenv('REMOTE_ADDR');
//$host = gethostbyaddr($ip);
//

$tmp = explode(".", $host); 
$serv = '(www.'.$tmp[sizeof($tmp) - 2].'.'.$tmp[sizeof($tmp) - 1].')';

if (ereg("aol", $host)) {$fai="AOL";}
elseif (ereg("bluewin", $host)) {$fai="Bluewin $serv";}
elseif (ereg("cablecom", $host)) {$fai="Cablecom - swissonline $serv";}
elseif (ereg("hispeed", $host)) {$fai="Cablecom - swissonline $serv";}
elseif (ereg("coltfrance", $host)) {$fai="COLT France $serv";}
elseif (ereg("club-internet", $host)) {$fai="Club Internet $serv";}
elseif (ereg("proxad", $host)) {$fai="Free $serv";}
elseif (ereg("intergga", $host)) {$fai="InterGGA $serv";}
elseif (ereg("noos", $host)) {$fai="Noos $serv";}
elseif (ereg("securepop", $host)) {$fai="SecurePoP $serv";}
elseif (ereg("adslplus", $host)) {$fai="Sunrise $serv";}
elseif (ereg("freesurf", $host)) {$fai="Sunrise $serv";}
elseif (ereg("tiscali.fr", $host)) {$fai="Tiscali France $serv";}
elseif (ereg("tiscali.ch", $host)) {$fai="Tiscali Suisse $serv";}
elseif (ereg("tele2.fr", $host)) {$fai="Tele2 France $serv";}
elseif (ereg("videotron", $host)) {$fai="Vidéotron $serv";}
elseif (ereg("sympatico", $host)) {$fai="Sympatico $serv";}
elseif (ereg("vtx", $host)) {$fai="VTX $serv";}
elseif (ereg("wanadoo", $host)) {$fai="Wanadoo $serv";}
else {$fai = 'www.'.$tmp[sizeof($tmp) - 2].'.'.$tmp[sizeof($tmp) - 1];}

if ($fai=="www.proxad.net") {$fai="www.free.fr";}

echo $fai;
echo "<br>";
echo $host;

?>

Conclusion :


LE code VB est dans le ZIP.

Pour faire fonctionner le code vous devez :

1) Mettre en ligne le fichier PHP
2) Lancer le programme VB et inscrire le lien exact du fichier PHP

REMARQUE :
Le module de lecture de page web, n'est pas de moi et est dispo sur vbfrance, merci à son auteur pour ce précieux rendu.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.