// ******************************************** // Nom du script : whois.php // Auteur : SebF@frameIP.com.pas.de.spam // Date de création : 17 Novembre 2003 // version : 1.3 // Licence : Ce script est libre de toute utilisation. // La seule condition existante est de faire référence au site http://www.frameip.com afin de respecter le travail d'autrui. // ******************************************** // ******************************************** // Affichage de l'entete html // ******************************************** echo ' FrameIP, Pour ceux qui aiment IP - Script Whois '; // ******************************************** // Initiation des variables // ******************************************** $whois_ip_demande=$_POST['ipaddress']; // ********************************************** // Enregistrement du compteur // ********************************************** include '../variables.php'; $info_compteur1=$whois_ip_demande; $info_compteur2=""; $info_compteur3=""; $specifiez_le_nom_du_compteur="index.php"; include '../compteur.php'; // ******************************************** // Vérification des champs vide // ******************************************** if (empty($whois_ip_demande)) whois_erreur(1); // ******************************************** // Résolution du nom et conformité de l'IP selectionné // ******************************************** if (ip2long($whois_ip_demande)==-1) // Si ce n'est pas une IP { $nom_correspondant=gethostbyname($whois_ip_demande); // Alors résolution du nom if ($nom_correspondant!=$whois_ip_demande) // Si il a résolut le nom $whois_ip_demande=$nom_correspondant; // Récupération de l'ip résolut else whois_erreur(2); } // ******************************************** // Transforme les saisies tel que 10.10..4 en 10.10.0.4 // ******************************************** $inetaddr=ip2long($whois_ip_demande); $whois_ip_demande=long2ip($inetaddr); // ******************************************** // Présentation des résultats // ******************************************** echo '

Whois

Voici les résultats du whois pour l\'adresse IP '.$whois_ip_demande.'
 

'; // ******************************************** // Appel de la fonction connexion // ******************************************** $buffer=connexion("whois.ripe.net",$whois_ip_demande); $serveur_ayant_repondu="whois.ripe.net"; // ******************************************** // Vérifie si on est sur le bon serveur // ******************************************** if (eregi("www.iana.org", $buffer)) { $buffer=connexion("whois.arin.net",$whois_ip_demande); $serveur_ayant_repondu = "whois.arin.net"; } elseif (eregi("whois.apnic.net", $buffer)) { $buffer=connexion("whois.apnic.net",$whois_ip_demande); $serveur_ayant_repondu = "whois.apnic.net"; } elseif (eregi("whois.registro.br", $buffer)) { $buffer=connexion("whois.registro.br",$whois_ip_demande); $serveur_ayant_repondu = "whois.registro.br"; } elseif (eregi("nic.ad.jp", $buffer)) { $buffer=connexion("whois.nic.ad.jp",$whois_ip_demande); ////////////////////////////////////////////////////////////////////// A VOIR #/e suppresses Japanese character output from JPNIC $extra = "/e"; $serveur_ayant_repondu = "whois.nic.ad.jp"; } // ******************************************** // Affichage du nom du serveur qui à rendu l'information // ******************************************** echo '
'; echo 'C\'est le serveur '.$serveur_ayant_repondu.' qui possède l\'information suivante :'; echo '

'; // ******************************************** // Intégre les retours charriot // ******************************************** $buffer2 = nl2br($buffer); // ******************************************** // Affiche le resultat // ******************************************** echo $buffer2; // ******************************************** // Fin du script général // ******************************************** fin_du_script(); // ******************************************** // Fonction de connexion whois // ******************************************** function connexion($serveur,$ip_recherche) { // ******************************************** // Ouverture de la session TCP // ******************************************** $socket=fsockopen($serveur, 43); if ($socket!=0) { // ******************************************** // Envoi de l'IP demandé // ******************************************** fwrite($socket, "$ip_recherche\n"); // ******************************************** // Receptionne dans buffer la réponse // ******************************************** while (feof($socket)==0) $tampon = $tampon . fgets($socket, 1000); // Le . signifie concatenation // ******************************************** // Ferme la session TCP // ******************************************** fclose($socket); } else // ******************************************** // Sortie du script // ******************************************** whois_erreur(3); return ($tampon); } // ******************************************** // Fonction d'affichage de l'erreur de saisie // ******************************************** function whois_erreur($erreur) // $erreur représente le numéro d'erreur. { // ******************************************** // Affichage de titre // ******************************************** echo '

Erreur

'; // ******************************************** // Affichage de l'erreur // ******************************************** echo '

'; // ******************************************** // Message personnalisé // ******************************************** if ($erreur==1) echo'Le Whois ne peux pas avoir lieu car le champ IP est vide.'; elseif ($erreur==2) echo'Le Whois ne peux pas avoir lieu car le champ IP ne contient pas d\'adresse valide ou le nom n\'a pas pu être résolut.'; elseif ($erreur==3) echo'Impossible de se connecter sur le serveur $server via le port 43.'; // ******************************************** // Fin du script général // ******************************************** fin_du_script(); } function fin_du_script() { // ******************************************** // Affiche de l'Url // ******************************************** echo '

www.FrameIP.com

'; // ******************************************** // Fin de la page Html // ******************************************** echo ' '; // ******************************************** // Fin du script général // ******************************************** exit(0); } ?>