¿Cómo puedo encontrar el servidor de WHOIS para cualquier TLD? [cerrado]

11

Estoy buscando una lista confiable y actualizada de servidores de WHOIS para usar en un script whois.
Dado que la lista cambia con frecuencia, sería bueno si hubiera un recurso al que pudiera hacer referencia en lugar de tener que actualizar el script con frecuencia.

Hamed Momeni
fuente
¿Por qué no solo usar GNU jwhois? Maneja esto por ti.
Michael Hampton
1
Esto merece ser reabierto, ya que en realidad solo hay una fuente oficial para esta información.
Zenexer

Respuestas:

18

Hay varias formas bien conocidas de localizar servidores whois para TLD, la base de datos de IANA es probablemente la más cercana a lo que la pregunta pide, sin embargo, hay otras fuentes que pueden ser más útiles en la práctica.

Desde IANA (acceso a través de whois y http)

Explore http://www.iana.org/domains/root/db o busque en la base de datos whois whois.iana.orgel TLD. Cada entrada tiene un campo que especifica el servidor whois .

Ejemplo:

$ whois -h whois.iana.org com
[Querying whois.iana.org]
[whois.iana.org]
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

domain:       COM

organisation: VeriSign Global Registry Services
address:      12061 Bluemont Way
address:      Reston Virginia 20190
address:      United States

contact:      administrative
name:         Registry Customer Service
organisation: VeriSign Global Registry Services
address:      12061 Bluemont Way
address:      Reston Virginia 20190
address:      United States
phone:        +1 703 925-6999
fax-no:       +1 703 948 3978
e-mail:       [email protected]

contact:      technical
name:         Registry Customer Service
organisation: VeriSign Global Registry Services
address:      12061 Bluemont Way
address:      Reston Virginia 20190
address:      United States
phone:        +1 703 925-6999
fax-no:       +1 703 948 3978
e-mail:       [email protected]

nserver:      A.GTLD-SERVERS.NET 192.5.6.30 2001:503:a83e:0:0:0:2:30
nserver:      B.GTLD-SERVERS.NET 192.33.14.30 2001:503:231d:0:0:0:2:30
nserver:      C.GTLD-SERVERS.NET 192.26.92.30
nserver:      D.GTLD-SERVERS.NET 192.31.80.30
nserver:      E.GTLD-SERVERS.NET 192.12.94.30
nserver:      F.GTLD-SERVERS.NET 192.35.51.30
nserver:      G.GTLD-SERVERS.NET 192.42.93.30
nserver:      H.GTLD-SERVERS.NET 192.54.112.30
nserver:      I.GTLD-SERVERS.NET 192.43.172.30
nserver:      J.GTLD-SERVERS.NET 192.48.79.30
nserver:      K.GTLD-SERVERS.NET 192.52.178.30
nserver:      L.GTLD-SERVERS.NET 192.41.162.30
nserver:      M.GTLD-SERVERS.NET 192.55.83.30
ds-rdata:     30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CFC41A5766

whois:        whois.verisign-grs.com

status:       ACTIVE
remarks:      Registration information: http://www.verisign-grs.com

created:      1985-01-01
changed:      2012-02-15
source:       IANA

$

Desde whois-servers.net (acceso a través de DNS)

El nombre tld.whois-servers.netes a CNAMEpara el servidor whois apropiado. No está claro quién realmente mantiene esto, pero parece bastante popular ya que es muy fácil de usar con casi cualquier cliente whois (y algunos clientes usan este servicio de manera predeterminada).

Ejemplo:

$ dig com.whois-servers.net +noall +answer

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-15.P2.fc20 <<>> com.whois-servers.net +noall +answer
;; global options: +cmd
com.whois-servers.net.  600     IN      CNAME   whois.verisign-grs.com.
whois.verisign-grs.com. 5       IN      A       199.7.55.74
$

Desde el registro en sí (acceso a través de DNS)

Muchos registros publican la dirección de su servidor whois en DNS directamente en la zona relevante como un _nicname._tcp SRVregistro .

Ejemplo:

$ dig _nicname._tcp.us SRV +noall +answer

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-15.P2.fc20 <<>> _nicname._tcp.us SRV +noall +answer
;; global options: +cmd
_nicname._tcp.us.       518344  IN      SRV     0 0 43 whois.nic.us.
$
Håkan Lindqvist
fuente
5

He estado jugando con WHOIS últimamente y he descubierto que algunos de los paquetes whois disponibles públicamente [a saber, los jwhois de CentOS] parecen depender de listas pre-empaquetadas de servidores TLD WHOIS. Si bien esto va a estar bien para la mayoría de los TLD, es un problema para la explosión de gTLD esotéricos como .horse.

El método 100% confiable es buscar el TLD en el servidor de WHOIS de la IANA whois.iana.org, analizar la whois:entrada y luego consultar en ese servidor la información del dominio. P.ej:

foo@bar:~ $ echo -e "horse\r\n" | nc -i 1 whois.iana.org 43
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

domain:       HORSE

[snip]

whois:        whois-dub.mm-registry.com

[snip]

Connection closed by foreign host.

Y entonces:

foo@bar:~ $ echo -e "dord.horse\r\n" | nc -i 1 whois-dub.mm-registry.com 43
Domain Name: dord.horse
Domain ID: 1742946-MMd1
WHOIS Server: whois-dub.mm-registry.com
[snip]

Si está utilizando este método, debe ser cortés y responder en caché del servidor de la IANA durante al menos 48 horas, si no más, ya que rara vez cambian y los servidores de la IANA tienden a estar bajo una carga masiva.

Sammitch
fuente
4

Mantengo la lista de servidores de WHOIS para mi biblioteca Ruby WHOIS en https://github.com/weppos/whois/blob/master/data/tld.json

Contiene la lista de todos los servidores existentes.

No contiene la respuesta cuando el dominio está disponible porque la biblioteca Ruby realiza el análisis en un nivel diferente. Además, tenga en cuenta que no todos los registros utilizan mensajes de cadena para comunicar la falta de disponibilidad de un dominio.

Simone Carletti
fuente
2

puede usar este script para obtener servidores whois de IANA. creado por noys. salida en la lista JSON de zonas y servidores whois.

<style>
body {
    font: normal 10px verdana, sans-serif;
    color: #333;
}
</style>

<?
$zones = array('ac','am','asia','at','be','biz','biz.ua','biz.ua','br.com','bz','cc','ch','co','co.am','co.in','co.ua','co.ua','om','com.am','com.kz','com.ua','cx','cz','de.com','eu','eu.com','firm.in','fm','gen.in','im','in','ind.in','info','io','kiev.ua','kz','la','lc','li','lt','lu','md','me','mn','mobi','ms','mx','name','net','net.am','net.in','org','org.am','org.in','org.kz','ph','pl','pp.ua','pro','pw','pw','ru','ru.com','so','su','su','su','tel','tv','tw','us','uy.com','vc','ws','xxx','za.cm','xn--p1ai');

$count = count($zones);

echo '<h1>Whois tool</h1>';

echo '<pre>
{
';

for($i=0;$i<$count;$i++) {
    $root_server = 'whois.iana.org';
    $zone = $zones[$i];
    $domain = 'nuceti75.'.$zones[$i];
    //echo "<h2>$domain - $current_domain</h2>";
    $fp = fsockopen($root_server, 43);
    if (!$fp) echo "Connection error: $root_server \r\n";
    else { 
        fputs($fp, $zone."\r\n");
        while (!feof($fp)) {
            $root_answer .= fgets($fp, 128);
        }
        preg_match("~whois:\s(.+)~i", $root_answer, $result);
        $current_server = trim($result[1]);
        fclose($fp);
    } 

    //echo "<pre>$root_answer</pre>";
    //echo "<b>Whois server for this TLD:</b> $current_server";

    $fh = fsockopen($current_server, 43);
    if (!$fh) echo "Connection error: $current_server ($zone) \r\n";
    else { 
        fputs($fh, $domain."\r\n");
        while (!feof($fh)) {
            $current_answer .= fgets($fh, 128);
        }
        fclose($fh);
    }

    //echo "<pre>$current_answer</pre>";

    echo "\"$zone\": \"$current_server\",\r\n";

    unset($root_answer);
    unset($current_answer);
    unset($result);

}

echo '
}
</pre>';

?>
noys
fuente
1

No debería necesitar una lista de estos. whois (1) es lo suficientemente inteligente como para resolver esto por ti:

Para la página del manual:

         By default whois constructs the name of a whois server to use
         from the top-level domain (TLD) of the supplied (single) argu-
         ment, and appending ".whois-servers.net".  This effectively
         allows a suitable whois server to be selected automatically for a
         large number of TLDs.

Whois es generalmente bastante confiable. Nunca recuerdo haberlo visto fallar en un dominio.

devicenull
fuente
Algunos de los nuevos TLD no están configurados; Por ejemplo bet.whois-servers.net, no existe.
cmbuckley
Esta característica depende del whoiscliente que use. No todos lo hacen, por buenas o malas razones. whois-servers.nettodavía no es un servicio oficial, solo algo hecho en un caso de mejor esfuerzo.
Patrick Mevzek