5.3.1 Description de whois
whois est un utilitaire permettant de récupérer
les informations concernant une plage ou un nom de domaine. Cet utilitaire
interroge les serveurs whois et affiche le résultat à
l'écran. Les informations fournies sont: le nom du groupe qui a
enregistré la plage; le nom du groupe auquel est enregistré la
plage; la plage d'adresses; les différents contacts disponibles ;... Un
exemple de requête sur un nom de domaine: whois
erasme.org
Domain ID :D101339-LROR
Domain Name :ERASME.ORG
Created On :02-Jan-1 99705 :00 :00 UTC
Last Updated On :05-Jun-2003 16 :44 :26 UTC
Expiration Date :01-Jan-2005 05 :00 :00 UTC
Sponsoring Registrar :R54-LROR
Status :OK
Registrant ID :ER11162-NBAY
Registrant Name :MARTIN YVES-ARMEL
Registrant Organization :ERASME
Registrant Street1 :29-31, COURS DE LA LIBERTE
Registrant City :LYON CEDEX 03 Registrant State/Province :FR
Registrant Postal Code :69483 Registrant Country :FR
Registrant Phone :+ 33.4 74706840 Registrant Email :
YAMARTIN@ASI.FR Admin
ID :MA88224-NBAY
Admin Name : YVES-ARMEL MARTIN Admin Street1
:407ROUTEDEBAYERES Admin City :CHA TILL ON
Admin State/Province :FR
Admin Postal Code :69380
Admin Country :FR
Admin Phone :+ 33.4 74706840 Admin Email :YAMAR
TIN@ASI.FR Billing ID
:AI31456-NBAY
Billing Name :JACQUES MOLINES Billing Organization :AIC
NETWORK Billing Street1 :8, rue Colonnel Chambonnet
Billing City :BRON
Billing State/Province :FR
Billing Postal Code :69500
Billing Country :FR
Billing Phone :+33.4 723 72315 Billing Email :tech@
aic.fr
Tech ID :AI22257-NBAY
Tech Name :SAMIA CHIKER
Tech Organization :AIC NETWORK
Tech Street1 :8, rue Colonnel Chambonnet Tech City
:BRON
Tech State/Province :FR
Tech Postal Code :69500
Tech Country :FR
Tech Phone :+ 33.4 72372315 Tech Email :tech@
aic.fr
Name Server :NS0.ERASME. ORG Name Server
:NS1.ERASME.ORG
Un exemple de requête depuis une adresse:
whois 1 93.50.192.40
Donne le résultat:
inetnum: 193.50.192.0 - 193.50.197.255 netname :
FR-UVHC
descr: University of VALENCIENNES Campus
descr : Le Mont Houy BP 311, 59304 Valenciennes,
France
country : FR
admin-c : JA2966-RIPE tech-c : JP1641-RIPE tech-c :
FV982-RIPE
status : ASSIGNED PA mnt-by : RENATER-MNT
changed: RenSVP@Renater.Fr 19991230
source : RIPE
route: 193.50.192.0/24 descr : FR-UVHC
origin : A S2200
mnt-by : RENATER-MNT
changed:
RenSVP@Renater.fr
19991008
source : RIPE
person : Jean-Claude ANGUE address: Universite de
Valenciennes
address : Le Mont Houy - BP 311
address: 59313 VALENCIENNES CEDEX3
phone: +33327511234 fax-no: +33327511360
e-mail :
president@univ-valenciennes.fr
nic-hdl: JA2966-RIPE mnt-by : RENATER-MNT
changed:
rensvp@renater.fr
19991229
changed:
rensvp@renater.fr
20000211
source : RIPE
person : Francis VANHUYSSE address : Le Mont Houy address :
BP 311
address: 59304 VALENCIENNES CEDEX
phone:+33 327141128 fax-no:+33327 141183
e-mail:
vanhuysse@univ-valenciennes.fr
nic-hdl: FV982-RIPE mnt-by : RENATER-MNT
changed:
rensvp@renater.fr
19991230
source : RIPE
person : Jean-Luc PETIT address : Le Mont Houy address : BP
311
address: 59304 VALENCIENNES CEDEX
phone: +33327511128 fax-no: +33327511340
e-mail :
jlpetit@univ-valenciennes.fr
nic-hdl: JP1641-RIPE
mnt-by : RENATER-MNT
changed:
rensvp@renater.fr
19991221 changed:
rensvp@renater.fr
20000211 source : RIPE
5.3.2 Intégration de whois au
serveur
Pour intégrer les requêtes whois au serveur il
faut utiliser une bibliothèque annexe au langage que l'on trouve sur le
site officiel des bibliothèques deu langage Perl ([cpa]), il s'agit de
la bibliothèque Net: :XWhois. Il y avait aussi la bibliothèque
Net: :Whois mais elle est beaucoup moins évoluée, notamment elle
ne per-met pas d'obtenir directement une valeur d'un paramètre, il faut
pour cela parser le résultat obtenu. Par contre, la bibliothèque
Net: :XWhois est très simple à utiliser: il suffit de faire la
requête et de récupérer la valeur du champ souhaité
(par exemple desc). De plus, les requêtes whois étant assez
lentes, il fallait développer un système de cache pour
éviter de refaire des appels faits précédemment.
Cependant, ce développement n'a pas été nécessaire
car ce système est inclus directement dans la bibliothèque elle
même, ce qui facilite grandement les choses. Enfin, lorsque l'on effectue
une requête, il faut tenir compte que l'on obtient pas directement les
données souhaitées, il faut en fait faire une première
requête, vérifier si les données sont suffisantes sinon
refaire une deuxième requête qui permettra d'obtenir plus
d'informations et ainsi de suite.