Client Whois per sistema operativo Windows

Da Leone Randazzo - MVP Windows Server System - Infrastructure Architect

L’articolo è un estratto del libro: Guida al DNS: dalla teoria alla pratica - Editore: Mondadori Informatica.

In questa pagina

Descrizione Descrizione
Installazione Installazione
Utilizzo del client Whois Utilizzo del client Whois
Web Service SOAP Whois e client Web Whois Web Service SOAP Whois e client Web Whois
Utilizzo del client Whois in ambiente Unix/Linux con Mono Utilizzo del client Whois in ambiente Unix/Linux con Mono
Esempi di query Whois Esempi di query Whois

Descrizione

Il client Whois per Windows è una implementazione del protocollo Whois standard RFC 3912, “Whois Protocol Specification” (e precedenti RFC 812 e 954, “NICNAME/WHOIS”), da utilizzare a riga di comando. Da notare che per l’ambiente Windows – contrariamente ai sistemi operativi Unix/Linux – non è disponibile nativamente un client Whois.

Essa è stata realizzata in ambiente Visual Studio 2005 e richiede il run-time del Framework 2.0 .NET di Microsoft – scaricabile gratuitamente dal sito Microsoft alla URL sotto indicata:

https://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5.

L’utilizzo del client Whois richiede la disponibilità delle porte tcp/43 e udp/43, anche se di default viene preferita una connessione di tipo TCP.

 

Verificare la disponibilità dell’accesso ai server Whois (porta 43 TCP/UDP)

Per testare l’accessibilità ad un server Whois (e.g.: whois.nic.it) – in caso di connessione a Internet mediata da un Proxy o NAT e/o filtrata da un Firewall – è sufficiente utilizzare il comando telnet verso il server Whois specificando la porta 43:

telnet whois.nic.it 43

A questo punto è possibile anche sottomettere una query di test (e.g.: learning-solutions.it) sempre attraverso l’interfaccia telnet.

Da notare che non tutti i server Whois sono capaci di restituire un output correttamente formattato e leggibile in seguito ad una query eseguita tramite una connessione telnet. Viceversa, un server Whois che restituisce l’output correttamente visualizzato è quello del NIC della Lituania: whois.domreg.lt.

In questo caso, dopo aver effettuato la connessione al server Whois tramite il comando:

telnet whois.domreg.lt 43

e, non appena compare il cursore lampeggiante in alto a sinistra, digitare la query; ad esempio:

domreg.lt

seguita da un INVIO.

Da notare che in assenza di echo locale i caratteri digitati non saranno visibili. Pertanto, dopo aver inserito il comando precedente, il server Whois risponde con i dati relativi alla query; nel nostro esempio (domreg.lt) l’output è il seguente:

***

% Hello, this is the DOMREG whois service.

% Please visit http://www.domreg.lt/whois for more information.

% Rights restricted by copyright.

% See http://www.domreg.lt/whois/copyright.html

domain: domreg.lt

holder/descr: ccTLD .lt registry

holder/descr: -------------------------------

holder/descr: KaunasUniversity of Technology

holder/descr: Information Technology Development Institute

holder/descr: Studentu 48a - 111

holder/descr: LT-51367 Kaunas ,

holder/descr: Lithuania

admin-c: DT78-LT

tech-c: TM6174-LT

zone-c: LH274-LT

nserver: nemunas.sc-uni.ktu.lt

nserver: slave.dns.lt

changed: hostmaster@litnet.lt 20050330

source: DOMREG

person: Daiva Tamulioniene

e-mail: daiva@litnet.lt

nic-hdl: DT78-LT

changed: steinar.haug@runit.sintef.no 19940411

changed: milda@litnet.lt 20000601

changed: hostmaster@litnet.lt 20010619

changed: hostmaster@litnet.lt 20040910

source: DOMREG

person: Tomas Mackus

e-mail: tomas@litnet.lt

nic-hdl: TM6174-LT

changed: tomas@litnet.lt 20000703

changed: tomas@litnet.lt 20040910

source: DOMREG

person: LT Hostmaster

e-mail: hostmaster@litnet.lt

nic-hdl: LH274-LT

changed: milda@litnet.lt 20000601

changed: aurelija@litnet.lt 20020307

source: DOMREG

Connection to host lost.

***

Altrimenti avendo a disposizione l’utility portqry.exe (preferibile la versione 2) di Microsoft – scaricabile dal sito Microsoft alla URL “https://www.microsoft.com/downloads/details.aspx?FamilyID=89811747-C74B-4638-A2D5-AC828BDC6983&displaylang=en” o disponibile nel kit Support Tools di Windows Server 2003, e descritta nell’articolo Knowledge Base 832919 – è possibile utilizzare il seguente comando, operando in ambiente Microsoft dalla console Command Prompt:

portqry – n <FQDN-Server-Whois> -e 43

Installazione

Dopo aver scaricato il file “WhoisClientApp_bin_10.zip” dalla URL http://www.alessandropilotti.com/whois, è sufficiente estrarre il contenuto in una directory (e.g.: c:\etc), costituito dai seguenti file:

  • WhoisClient.dll: contiene le funzioni invocate dall’eseguibile whois.exe.

  • whois.exe: comando/utility client Whois.

  • whois.xml: file XML contenente i server Whois organizzati per gTLD/ccTLD e per blocchi di indirizzi IP (i.e.: server Whois dei Regional Internet Registry (RIR)). Nel caso in cui il client Whois.exe viene eseguito senza indicare nessun server Whois (opzione -r), esso utilizza il file whois.xml per dedurre il server Whois “competente” in base al suffisso TLD del dominio indicato nella query; viceversa, se l’argomento della query è un indirizzo IP, viene utilizzato il server Whois di un Regional Internet Registry (RIR) delegato per l’indirizzo in questione.

 

Aggiunta di server Whois al file Whois.xml

Per quanto riguarda le informazioni sui domini di tipo ccTLD, la presenza di un server Whois non è sempre garantita (e.g.: per il suffisso “.za” (Sud Africa) o “.ar” (Argentina)).

Per accertarsi di ciò, è consigliato fare riferimento all’archivio dei ccTLD disponibile alla URL http://www.iana.org/cctld/cctld-whois.htm.

Nel caso in cui alcuni di questi ccTLD rendano successivamente disponibile il loro server Whois, è possibile aggiungere le relative informazioni all’interno del file Whois.xml, rispettando il formato.

  • whois.xsd: contiene la definizione dello schema (XML Schema Definition) del file XML.

Successivamente, procedere con il download e l’installazione del Microsoft.NET Framework 2.0 dal sito Microsoft alla URL seguente: https://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5.

Utilizzo del client Whois

Per utilizzare il client Whois è necessario aprire una sessione Command Prompt e spostarsi nella directory nella quale sono stati copiati i file (e.g.: c:\etc). E’ possibile – al fine di poter utilizzare il comando da una qualsiasi directory di lavoro – inserire la suddetta directory di installazione, nel path di sistema, utilizzando il comando setx.exe (simile al comando setenv del mondo Unix/Linux) nel modo seguente (da notare che esso è disponibile nativamente in ambito Windows Server 2003; viceversa, in ambiente Windows XP è necessario installare il Resource Kit oppure, più semplicemente, copiarla dalla directory %SystemRoot%\System32 di un qualsiasi computer equipaggiato con il sistema operativo Windows Server 2003):

setx path “c:etc;%PATH%”

Nel suddetto comando, si presuppone che i file siano stati copiati nella directory c:\etc.

La stesso risultato si può ottenere, operando sulle proprietà del sistema, dal Pannello di Controllo, dalla scheda Advanced, e cliccando sul bottone Environment Variables oppure eseguendo l’appletsysdm.cpl direttamente o dal prompt dei comandi nel modo seguente:

rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl

Nel caso di logon con uno User Account che non possiede i diritti amministrativi, è possibile utilizzare il comando RunAs nel modo seguente:

%windir%\system32\runas.exe /u:<utente admin> /savecred "rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl"

Ad esempio:

%windir%\system32\runas.exe /u:leoner /savecred "rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl".

Per sottomettere delle query Whois è sufficiente – dopo aver seguito le precedenti istruzioni di installazione – utilizzare la sintassi seguente:

Whois [-h] [-r <Server[:port]>] <query>

Dove:

  • -h: permette di ottenere la sintassi per l’utilizzo del comando.

  • -r <Server[:port]>: consente di specificare un determinato server Whois e la relativa porta sulla quale il demone/servizio Whois risponde (di default corrisponde alla 43/TCP). Da notare che né il server né la porta sono obbligatori. Nel caso in cui nessun server Whois è indicato, il client utilizza il file whois.xml per dedurre il server Whois “competente” in base al suffisso TLD del dominio indicato nella query, oppure il server Whois di un Regional Internet Registry (RIR) delegato, per l’indirizzo IP indicato con l’argomento <query>.

  • <query>: contiene l’interrogazione da sottomettere al server Whois. Essa può indicare: un nome di dominio; un nic-handle di un oggetto Whois di tipo Person, Role, Maintainer, ecc.; oppure un indirizzo IP.

Alcuni esempi di utilizzo del client Whois sono di seguito indicati:

  1. whois domreg.lt

  2. whois learning-solutions.it

  3. whois –r whois.nic.it contoso.it

  4. whois -r whois.ripe.net 193.205.245.5

  5. whois 193.205

  6. whois -r whois.nic.it LR2916-ITNIC

  7. whois -r whois.nic.it:43 REGISTRY-MNT

Web Service SOAP Whois e client Web Whois

Le funzionalità del client Whois descritto precedentemente sono disponibili anche mediante un Web service SOAP all'URL http://www.alessandropilotti.com/Whois/WhoisClientWS.asmx. In questo modo, è possibile includere le suddette funzionalità in applicazioni scritte da terze parti.

Infine, è possibile richiamare il servizio tramite un browser Web, ottenendo i risultati di una query Whois in formato XML.

Utilizzo del client Whois in ambiente Unix/Linux con Mono

Prima di utilizzare il client Whois in ambiente Unix/Linux è necessario procedere con l’installazione del Framework .NET Mono, disponibile alla URL https://www.mono-project.com/Downloads per le varie versioni di sistema operativo.

Inoltre, è possibile scaricare anche tutti i file RPM in un unico file .ZIP; ad esempio:

wget http://www.go-mono.com/download/fedora-4-i386/mono-1.1.zip

Dopo aver scompattato il tutto in una directory e cancellato gli eventuali file RPM non necessari; ad esempio:

rm /f Mono-complete.rpm

oppure, se si dispone di client di motori di database installati, è possibile cancellare anche i seguenti RPM:

Mono-data-firebird.rpm
Mono-data-sqllite.rpm
Mono-data-sybase.rpm
Mono-data-postgresql.rpm
Mono-data-oracle.rpm

Per eseguire l’installazione di mono, lanciare il comando seguente:

rpm -Uvh *

Infine, creare una directory per copiare i file che compongono il client Whois, ed eseguire il comando seguente per scopattare il contenuto del file ZIP:

unzip WhoisClientApp_bin_10.zip

Per utilizzare il client Whois, eseguire il comando seguente:

"mono Whois.exe -r whois.internic.net alessandropilotti.com"

Esempi di query Whois

Di seguito vengono riportate alcune query che è possibile sottomettere utilizzando il client Whois per Windows:

  • Verificare la registrazione di un nome di dominio all’interno del ccTLD “.it” (e.g.: guidadns.it):
  • Esempio 1

C:\etc>whois guidadns.it

***************************************************************************

Whois server: whois.nic.it

***************************************************************************

**************************************************

* Please note that any results obtained are a *

* subgroup of the data contained in the database *

* *

* The full objects' data can be visualised at: *

* http://www.nic.it/RA/database/index.html *

**************************************************

No entries found in the IT-NIC database.

  • Esempio 2

C:\etc>whois learning-solutions.it

***************************************************************************

Whois server: whois.nic.it

***************************************************************************

**************************************************

* Please note that any results obtained are a *

* subgroup of the data contained in the database *

* *

* The full objects' data can be visualised at: *

* http://www.nic.it/RA/database/index.html *

**************************************************

domain: learning-solutions.it

org: Silmar Consulting sas di Randazzo Leone

admin-c: LR2916-ITNIC

tech-c: AB91-ITNIC

postmaster: AB91-ITNIC

zone-c: AB91-ITNIC

nserver: 212.25.160.10 dns.seeweb.it

nserver: 217.64.196.10 dns2.seeweb.it

mnt-by: STT-MNT

created: 20050204

expire: 20070204

source: IT-NIC

person: Leone Randazzo

address: IT-NIC

address: piazza Durante 8

address: I-20131 Milano

nic-hdl: LR2916-ITNIC

source: IT-NIC

person: Antonio Baldassarra

address: C.so Lazio, 9/a

address: I - 03100 - Frosinone

address: Italy

nic-hdl: AB91-ITNIC

mnt-by: STT-MNT

source: IT-NIC

  • Verificare gli attributi di un oggetto person (e.g.: Leone Randazzo) se presente nel database Whois del Registro italiano IT-NIC:

C:\etc>whois -r whois.nic.it "leone randazzo"

***************************************************************************

Whois server: whois.nic.it

***************************************************************************

**************************************************

* Please note that any results obtained are a *

* subgroup of the data contained in the database *

* *

* The full objects' data can be visualised at: *

* http://www.nic.it/RA/database/index.html *

**************************************************

person: Leone Randazzo

address: IT-NIC

address: via Bronzino, 4

address: I-20133 Milano (MI)

nic-hdl: LR784-ITNIC

source: IT-NIC

person: Leone Randazzo

address: IT-NIC

address: piazza Durante 8

address: I-20131 Milano

nic-hdl: LR2916-ITNIC

source: IT-NIC

Da notare che specificando solamente il cognome o il nome di una persona, vengono estratte tutte le occorrenze presenti nel database Whois e comprendenti il cognome o il nome passato come argomento. Naturalmente è possibile ridirigere l’output in un file di testo (e.g.: whois “randazzo” > c:\temp\randazzo.txt).

E’ bene ricordare che un uso improprio di queste funzionalità (e.g.: advertising/pubblicità, data-maining, ecc.) indipendentemente dal Registro detentore del database Whois è deprecato e contrario ai principi delle leggi vigenti.

  • Verificare l’assegnatario (ed il Registro di competenza) di un indirizzo IP:

    C:\etc>whois 193.205.245.5

    ***************************************************************************

    Whois server: whois.ripe.net

    ***************************************************************************

    % This is the RIPE Whois query server #2.

    % The objects are in RPSL format.

    %

    % Note: the default output of the RIPE Whois server

    % is changed. Your tools may need to be adjusted. See

    % http://www.ripe.net/db/news/abuse-proposal-20050331.html

    % for more details.

    %

    % Rights restricted by copyright.

    % See http://www.ripe.net/db/copyright.html

    % Note: This output has been filtered.

    % To receive output for a database update, use the "-B" flag

    % Information related to '193.205.245.0 - 193.205.245.255'

    inetnum: 193.205.245.0 - 193.205.245.255

    netname: GARR-NIS

    descr: GARR

    descr: NIS

    country: IT

    admin-c: EV182-RIPE

    tech-c: GL965-RIPE

    tech-c: ST43-RIPE

    rev-srv: dns.nic.it

    rev-srv: nameserver.cnr.it

    status: ASSIGNED PA

    remarks: Lan for external access to GARR-NIS servers

    remarks: GARR - Italian academic and research network

    mnt-by: GARR-LIR

    source: RIPE # Filtered

    role: GARR LIR

    address: Consortium GARR

    address: Viale Palmiro Togliatti 1625

    address: I-00155 Roma

    address: Italy

    remarks: trouble: To notify abuse mailto: cert@garr.it

    remarks: trouble: Information at http://www.lir.garr.it/

    admin-c: EV182-RIPE

    tech-c: GP4562-RIPE

    tech-c: VP541-RIPE

    tech-c: BM2532-RIPE

    tech-c: MG473-RIPE

    nic-hdl: GL965-RIPE

    mnt-by: GARR-LIR

    source: RIPE # Filtered

    abuse-mailbox: cert@garr.it

    person: Enzo Valente

    address: Consortium GARR

    address: Viale Palmiro Togliatti 1625

    address: I-00155 Roma

    address: Italy

    phone: +39 06 43361441

    fax-no: +39 06 43361444

    nic-hdl: EV182-RIPE

    mnt-by: GARR-LIR

    source: RIPE # Filtered

    person: Stefano Trumpy

    address: Istituto di Informatica e Telematica - CNR

    address: Via Giuseppe Moruzzi, 1

    address: I-56124 - PISA

    address: Italy

    phone: +39 050 3152634

    fax-no: +39 050 3152593

    nic-hdl: ST43-RIPE

    source: RIPE # Filtered

    % Information related to '193.204.0.0/15AS137'

    route: 193.204.0.0/15

    descr: GARR routes

    origin: AS137

    mnt-by: GARR-LIR

    source: RIPE # Filtered