Mise à jour du 09/09/2024.
La géolocalisation est l'action qui consiste à déterminer où se situe une adresse IP. Le whois donne des informations sur l'attributaire d'une adresse IP, sa durée de validité, son greffier (registrar), son mécanisme d'enregistrement, le chaînage éventuel des différents attributaires, etc.
L'enregistrement d'une adresse IP ou plus généralement d'une plage d'adresses IP se fait toujours par le biais d'un "greffier". Cet enregistrement est public. Le protocole qui permet de retrouver ces informations d'enregistrement se nomme whois. La recherche peut se faire par "registre de régions géographiques" (5 régions) ou par "registre de noms de domaine" (.com, .fr, etc.).
Chaque registre peut être vu comme une base de données. Mais chaque registre a son propre schéma de modèle de données car il n'existe pas de structure type de ce schéma. Il y a peu de chance qu'il y ait un jour une convergence des modèles. De plus, la protection des individus et des sociétés amènent à stocker de moins en moins d'informations dans ces base de données.
Enfin, chaque registre dispose de son propre serveur de données. Les mécanismes de liaison entre registres ne sont pas normalisés ce qui nuit aux capacités de renvoi d'un registre vers un autre. L'IETF face a ces limitations a émis avec la RFC 3981 un nouveau protocole (IRIS) mais il n'est actuellement pas mis en oeuvre par les registres et ne le sera probablement jamais.
Il ressort de tout ceci, qu'il est ardu d'obtenir des informations sur un domaine ou une adresse et encore plus d'unifier la présentation des ces informations.
Les système Linux dispose néanmoins d'une commande whois assez pratique pour obtenir des informations. Par exemple si l'on interrgoge le domaine free.fr, on obtient :
%% %% This is the AFNIC Whois server. %% %% complete date format: YYYY-MM-DDThh:mm:ssZ %% %% Rights restricted by copyright. %% See https://www.afnic.fr/en/domain-names-and-support/everything-there-is-to-know-about-domain-names/find-a-domain-name-or-a-holder-using-whois/ %% %% domain: free.fr status: ACTIVE eppstatus: clientUpdateProhibited eppstatus: clientTransferProhibited eppstatus: clientDeleteProhibited hold: NO holder-c: FS1435-FRNIC admin-c: FS1435-FRNIC tech-c: FS1435-FRNIC registrar: SCALEWAY Expiry Date: 2025-12-23T11:20:00Z created: 1999-03-15T17:36:09Z last-update: 2024-02-24T04:23:08.309802Z source: FRNIC nserver: freens1-g20.free.fr nserver: freens2-g20.free.fr nserver: freens3-scw.free.fr source: FRNIC registrar: SCALEWAY address: 8, rue de la ville l'Eveque address: 75008 PARIS country: FR phone: +33.184130069 fax-no: +33.173502901 e-mail: frnic-admin@free.org website: https://www.bookmyname.com anonymous: No registered: 1999-03-29T00:00:00Z source: FRNIC nic-hdl: FS1435-FRNIC type: ORGANIZATION contact: Free SAS address: 16 rue de la ville l'Eveque address: 75008 Paris country: FR phone: +33.173502000 fax-no: +33.173502501 e-mail: 26ec12896f4b2cdf.152599@spamfree.bookmyname.com registrar: SCALEWAY changed: 2024-08-19T16:53:46.584497Z anonymous: NO obsoleted: NO eppstatus: associated eppstatus: active eligstatus: ok eligsource: REGISTRAR eligdate: 2024-08-19T16:53:46.584499Z reachstatus: ok reachmedia: email reachsource: REGISTRAR reachdate: 2024-08-19T16:53:46.5845Z source: FRNIC >>> Last update of WHOIS database: 2024-09-09T15:16:42.562489Z <<<
Ainsi, Free contrairement à de nombreux fournisseurs n'est pas son propre greffier. Si on effectue une commande ping sur son 1er serveur de domaine, on obtient l'adresse 2a01:e0c:1:1599::22.
Une interrogation de cette adresse IP via la commande whois retourne :
% This is the RIPE Database query service. % The objects are in RPSL format. % % The RIPE Database is subject to Terms and Conditions. % See https://apps.db.ripe.net/docs/HTML-Terms-And-Conditions % Note: this output has been filtered. % To receive output for a database update, use the "-B" flag. % Information related to '2a01:e00::/26' % Abuse contact for '2a01:e00::/26' is 'abuse@proxad.net' inet6num: 2a01:e00::/26 netname: FR-PROXAD-20080121 country: FR org: ORG-PISP1-RIPE admin-c: ACP23-RIPE tech-c: TCP8-RIPE status: ALLOCATED-BY-RIR mnt-by: RIPE-NCC-HM-MNT mnt-by: PROXAD-MNT mnt-routes: PROXAD-MNT mnt-domains: PROXAD-MNT created: 2008-01-21T14:17:01Z last-modified: 2018-02-14T01:51:58Z source: RIPE # Filtered organisation: ORG-PISP1-RIPE org-name: Free SAS country: FR org-type: LIR address: 16 rue de la Ville l'Eveque address: 75008 address: Paris address: FRANCE phone: +33173502000 fax-no: +33173922555 admin-c: ACP23-RIPE admin-c: TCP8-RIPE mnt-ref: PROXAD-MNT mnt-ref: RIPE-NCC-HM-MNT mnt-by: RIPE-NCC-HM-MNT mnt-by: PROXAD-MNT tech-c: TCP8-RIPE remarks: Pour les requisitions judiciaires/administratives, merci de contacter par fax le 33 1 73 92 25 55 abuse-c: ACP23-RIPE created: 2004-04-17T11:23:24Z last-modified: 2020-12-16T12:45:25Z source: RIPE # Filtered role: Administrative Contact for ProXad address: Free SAS / ProXad address: 8, rue de la Ville L'Eveque address: 75008 Paris phone: +33 1 73 50 20 00 fax-no: +33 1 73 92 25 69 remarks: trouble: Information: http://www.proxad.net/ remarks: trouble: Spam/Abuse requests: mailto:abuse@proxad.net admin-c: APfP1-RIPE tech-c: TPfP1-RIPE nic-hdl: ACP23-RIPE mnt-by: PROXAD-MNT abuse-mailbox: abuse@proxad.net created: 2002-06-26T12:46:56Z last-modified: 2013-08-01T12:16:00Z source: RIPE # Filtered role: Technical Contact for ProXad address: Free SAS / ProXad address: 8, rue de la Ville L'Eveque address: 75008 Paris phone: +33 1 73 50 20 00 fax-no: +33 1 73 92 25 69 remarks: trouble: Information: http://www.proxad.net/ remarks: trouble: Spam/Abuse requests: mailto:abuse@proxad.net admin-c: APfP1-RIPE tech-c: TPfP1-RIPE nic-hdl: TCP8-RIPE mnt-by: PROXAD-MNT created: 2002-06-26T12:29:10Z last-modified: 2011-06-14T09:03:07Z source: RIPE # Filtered abuse-mailbox: abuse@proxad.net % Information related to '2a01:e00::/26AS12322' route6: 2a01:e00::/26 descr: ProXad network / Free SAS origin: AS12322 mnt-by: PROXAD-MNT created: 2008-01-22T14:41:54Z last-modified: 2008-01-22T14:41:54Z source: RIPE % This query was served by the RIPE Database Query Service version 1.113.2 (DEXTER)
Si on exécute la commande whois sur d'autres registres (région ou domaine) on obtient des informations structurées différemment.
L'absence de standards de l'IETF à l'origine de la mise en place des premiers plans d'adressage se révèle être une des plus grande faille de sécurité de l'Internet. Cela a ouvert la voie à l'anonymat et donc à a possibilité pour de nombreuses personnes ou organisations indélicates d'entreprendre des tentatives de piratage ou d'usurpation sans vraiment prendre de risque.
Or la première des protections passe par un filtrage efficace des adresses IP illicites. De nombreuses sociétés de sont engouffrées dans ce créneau et proposent des mécanismes simples d'obtention d'informations soit de géolocalisation soit de structure organisationnelle associée à une adresse IP. Bien entendu ces sociétés se font rénumérer car le ratissage systèmatique et continu des millions d'adresses de l'Internet est une charge conséquente. De plus elles doivent user de moyens d'enquête non tous techniques pour obtenir leurs informations. Leur tarif dépend donc du nombre d'informations souhaité et du nombre de requêtes de gélolocalisation ou d'interrogation organisationnelle sur une période donnée (généralement le mois).
Pour un faible nombre de requêtes mensuelles ainsi qu'un faible nombre d'informations, il est possible d'obtenir un "abonnement" gratuit. Nous citerons deux organisations offrant cette possibilité :
Ces deux organisations proposent en plus des informations de géolocalisation de préciser si l'adresse IP est celle d'un proxy (dans la version payante cela peut aller plus loin avec VPN et autres technologies).
Nous avons retenu ces deux organisations car elles proposent une forme assez proche de requête HTTP basée sur un identifiant ou "clef d'API" délivrée une fois la souscription réalisée. Cela permet d'utiliser toute sorte de programmes et scripts pour interroger le fournisseur (commande curl par exemple).
Le programme ipl est chargé d'effectuer l'interrogation d'un fournisseur donné et d'afficher le résultat à la console. Quel que soit le fournisseur, les informations présentées sont soit les mêmes, soit absentes. Ce programme est un programme console C++ développé sur la base de l'infrastructure Qt 6.7.2.
Lorsque les interrogations se font via une requête HTTP, il est aisé d'écrire un programme capable de s'adapter facilement au fournisseur considéré. C'est ce que fait le programme ipl.
Le programme s'appuie sur une librairie dynamique iplocation ainsi qu'une autre qui implémente les spécificités du founisseur interrogé. La librairie iplocation fournit une classe nommée IpDetail chargée de recenser les informations à retourner au code qui a lancé l'interrogation. Cette classe permet de s'abstraire de la représentation choisie par un founisseur donné. Le fichier d'en-têtes de cette librairie (iplocation.hpp) comporte la définition de deux classes qu'elle n'implémente pas : IProvider et ProviderFactory.
Ces deux classes doivent être implémentées par la librairie spécifique au fournisseur. Cela oblige donc cette dernière à référencer pour chargement la librairie iplocation.
La classe ProviderFactory permet d'instancier la classe du fournisseur dérivée de IProvider. Cette dernière classe est fournit au programme principal l'URL d'interrogation du founisseur et permet de convertir le résultat en une instance de la classe IpDetail.
Le programme nécessite 3 paramètres :
L'installation consiste à placer sur un chemin référencé par le système comme chemin des librairies la librairie iplocation, la librairie jmp(>= 1.0.7). L'exécutable ipl, quant à lui, doit être placé sur un chemin référencé par la variable PATH.
Voici un exemple de lancement de la commande sous Linux :
/usr/sbin/ipl lib=/usr/lib/x86_64-linux-gnu/libip2location.so.1.0.0 \
init=key:{cf. compte IP2Location} \
ip=8.216.90.1Voici la réponse affichée :
IP : 8.216.90.1
Pays : Japan [JP]
Région : Tokyo
Code postal : 214-0021
Ville : Tokyo
Coordonnées : (35.689500°, 139.692320°)
Attributaire : Alibaba US Technology Co. Ltd.
ASN : 45102
Niveau de confiance : probableRédaction par Jean-Marie Piatte (1983-2021)