Saltar al contenido

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

Por fin después de mucho batallar pudimos hallar la solución de esta problema que algunos usuarios de esta web han tenido. Si quieres compartir algún detalle no dejes de compartir tu comentario.

Solución:

Solución 1:

Hay varias formas conocidas de localizar servidores whois para TLD, la base de datos de IANA es probablemente la más cercana a lo que pide la pregunta, 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 en whois.iana.org para el TLD. Cada entrada tiene un campo que especifica el quién es servidor.

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.net es un CNAME al servidor whois apropiado. Algo poco claro quién mantiene esto en realidad, pero parece bastante popular ya que es muy fácil de usar con casi cualquier cliente whois (y algunos clientes usan este servicio de forma 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 propio registro (acceso a través de DNS)

Muchos registros publican la dirección de su servidor whois en DNS directamente en la zona relevante como _nicname._tcpSRV registro.

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.
$

Solucion 2:

Regularmente compilo una lista de IANA y PSL en un archivo XML que incluye el servidor whois, el registrador, los dominios de segundo nivel y, si es posible, una expresión regular de disponibilidad: https://github.com/whois-server-list/whois-server-list


Solución 3:

Últimamente he estado jugando con WHOIS y he descubierto que algunos de los paquetes whois disponibles públicamente [namely CentOS’s jwhois] parecen depender de listas preempaquetadas de servidores de 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 IANA, whois.iana.org, analizar el whois: entrada y luego consulta ese servidor para la información del dominio. P.ej:

[email protected]:~ $ echo -e "horsern" | 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 luego:

[email protected]:~ $ echo -e "dord.horsern" | 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 almacenar en caché las respuestas del servidor de IANA durante al menos 48 horas, si no más, ya que rara vez cambiarán y los servidores de IANA tienden a tener una carga masiva.


Solución 4:

Mantengo la lista de servidores de WHOIS para mi biblioteca de WHOIS de Ruby 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 string mensajes para comunicar la indisponibilidad de un dominio.


Solución 5:

puede utilizar este script para obtener servidores whois de IANA. creado por noys. Salida en lista JSON de zonas y servidores whois.



Whois tool';

echo '

';

for($i=0;$i<$count;$i++) 
    $root_server = 'whois.iana.org';
    $zone = $zones[$i];
    $domain = 'nuceti75.'.$zones[$i];
    //echo "

$domain - $current_domain

"; $fp = fsockopen($root_server, 43); if (!$fp) echo "Connection error: $root_server rn"; else fputs($fp, $zone."rn"); while (!feof($fp)) $root_answer .= fgets($fp, 128); preg_match("~whois:s(.+)~i", $root_answer, $result); $current_server = trim($result[1]); fclose($fp); //echo "
$root_answer

";
//echo "Whois server for this TLD: $current_server";

$fh = fsockopen($current_server, 43);
if (!$fh) echo "Connection error: $current_server ($zone) rn";
else
fputs($fh, $domain."rn");
while (!feof($fh))
$current_answer .= fgets($fh, 128);

fclose($fh);

//echo "

$current_answer

";

echo ""$zone": "$current_server",rn";

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

echo '

';

?>

No se te olvide recomendar esta división si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *