Whois
par _SebF

Adresse IP :

1 - Fonction de Whois
2 - Les RIR
3 - Liste des affectations
4 - A propos de
5 - Suivi du développement
        5.1 - Problème restant
        5.2 - RoadMap
        5.3 - Suivi du projet
6 - Code source

1 - Fonction de Whois

L'utilitaire permet d'indiquer à qui l'adresse IP sélectionnée est affectée. Pour cela, il va requêter les différents RIR sur le port TCP 43 afin de récupérer l'information demandée.

Vous pouvez requêter manuellement en tapant la commande suivante : "telnet whois.ripe.net 43". Puis vous saisissez l'Ip que vous désirez suivit de "entrée". Vous verrez alors apparaître les informations contenues dans la database (attention au format de présentation). Il ne vous reste plus qu'à requêter les quatre serveurs Whois afin de déterminer où se trouve votre information.

2 - Les RIR

TCPIP IPV6 VOIP VPN IP IPV4

http://www.iana.org/

TCPIP IPV6 VOIP VPN IP IPV4

http://www.icann.org/

L'IANA, Internet Assigned Numbers Agency, attribue les adresses IP aux différents RIR, Regional Internet Registry. Les attributions ont été divisées en 4 parties et attribuées aux instituts suivants. cependant, depuis 1998, Icann repris presque l'intégralité des fonction de l'Iana. Cette nouvelle organisation a été créée en octobre 1998 à l'initiative du gouvernement américain.
 

 

TCPIP IPV6 VOIP VPN IP IPV4

APNIC

www.apnic.net

Pour l'Asie et le Pacifique.

 

TCPIP IPV6 VOIP VPN IP IPV4

ARIN

www.arin.net

Pour l'Amérique du Nord et l'Afrique sub-saharienne.

 

TCPIP IPV6 VOIP VPN IP IPV4

LACNIC

www.lacnic.net

L'Amérique latine et quelques îles des Caraïbes.

 

TCPIP IPV6 VOIP VPN IP IPV4

RIPE NCC

www.ripe.net

L'Europe, le Moyen-Orient, l'Asie centrale, et les pays africains du nord de l'équateur.

3 - Liste des affectations

Voici la liste des affections IPv4 et v6 classés par network IP.

- Adressage Ipv4
- Multicast Ipv4
- Adressage Ipv6
- Multicast Ipv6

4 - A propos de

 Version

 Version 1.3

 Date de création

 17 Novembre 2003

 Dernière modification

 05 Avril 2004

 Auteur

 _SebF

Posez vos questions, remarques, demande d'évolution et retour d'expérience sur le Forum dédié aux outils

5 - Suivi du développement

5.1 - Problème restant

5.2 - RoadMap

- Proposer la saisie d'un nom d'hôte au lieu d'une IP.
- Choix du type d'objet Ripe.

5.3 - Suivi du projet
 

2004.04.05

V1.3

 - Intégration de la résolut du nom d'hôte saisie grâce à la fonction gethostbyname().

2003.11.22

V1.2

 - Depuis la migration sur l'hébergement OVH, le script reste bloqué dans la boucle $tampon = $tampon . fgets($socket, 1); Passage de la valeur de 1 à 1000 pour résoudre le problème.

2003.11.19

V1.1

 - Ecriture des paragraphes de fonctionnement

2003.11.18

V1.1

 - Gestion des IP non géré pas le Ripe. Connexion aux serveurs whois.arin.net whois.apnic.net whois.registro.br nic.ad.jp

2003.11.18

V1.1

 - Passage de la gestion des erreurs dans la fonction erreur($erreur,$opentable).
 - Vérification supplémentaire du champ IP pour éviter la saisie du style .0 qui donnait 0.0.0.0

2003.11.17

V1.0

 - Création du formulaire de saisie.
 - Création du script basé sur le squelette scan.php.
 - Récupération des donnée sur whois.ripe.net.
 - Mise en forme de la reception en intégrant les retour "charriot". $buffer2 = nl2br($buffer);

6 - Code source

<?

// ********************************************
// 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.
// ********************************************

// ********************************************
// Initiation des variables
// ********************************************
$whois_ip_demande=$_POST['ipaddress'];

// ********************************************
// Vérification des champs vide
// ********************************************
if (empty($whois_ip_demande))
            {
            $corp='Le Whois ne peux pas avoir lieu car le champ IP est vide.';
            include 'whois_affichage_launcher.php';
            exit(0);
            }

// ********************************************
// 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
                        {
                        $corp='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.';
                        include 'whois_affichage_launcher.php';
                        exit(0);
                        }
            }         

// ********************************************
// Transforme les saisies tel que 10.10..4 en 10.10.0.4
// ********************************************
$inetaddr=ip2long($whois_ip_demande);
$whois_ip_demande=long2ip($inetaddr);

// ********************************************
// 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
// ********************************************
$corp='<BR>';
$corp.='C\'est le serveur '.$serveur_ayant_repondu.' qui possède l\'information suivante :';
$corp.='<BR><br>';

// ********************************************
// Intégre les retours charriot
// ********************************************
$buffer2=nl2br($buffer);

// ********************************************
// Affiche le resultat
// ********************************************
$corp.=$buffer2;
include 'whois_affichage_launcher.php';

// ********************************************
// Foncvtion 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
                        {
                        $corp='Impossible de se connecter sur le serveur '.$server.' via le port 43.';
                        include 'whois_affichage_launcher.php';
                        exit(0);
                        }
           
            return ($tampon);
            }

?>



mot clé : rir tcpip tcp 43 whois apic rir lir ripe registrar ipv4 as arin asnum vpn lacnic db ip database voip ipv6 outil iana online adresse ip

Copyright © 2011-2015 FrameIP TcpIP. Tous droits réservés. Les marques et marques commerciales mentionnées appartiennent à leurs propriétaires respectifs. L'utilisation de ce site Web TcpIP implique l'acceptation des conditions d'utilisation et du règlement sur le respect de la vie privée.
Sécurité entreprise Téléphonie entreprise Expert de votre Infrastructure Test ADSL Serinya Operateur Telecom