¿Tiene a.gtld-servers.net una lista de todos los dominios .com?

14

Cuando lo hago dig @a.gtld-servers.net example.com, devuelve rápidamente los servidores de nombres example.comy las direcciones IP de esos servidores de nombres (registros de pegamento).

¿Eso significa a.gtld-servers.net(y *.gtld-servers.net) tener un registro de todos los .comdominios localmente? Responden muy rápido, así que no creo que estén haciendo una consulta adicional. Del mismo modo, una solicitud de example.comservidores de nombres no me redirige domains.starting.with.e.gtld-servers.netni nada.

Me doy cuenta de a.gtld-servers.netque probablemente hay varias máquinas y que estoy siendo enrutado a la más cercana a mí (a través de esa nueva tecnología de una máquina múltiple ip), pero esto solo significaría que otras máquinas tienen todos los .comdominios.

EDITAR: ¡Gracias a todos los que respondieron! Pregunta de seguimiento: si alguien "piratea" una de estas máquinas, ¿no podrían obtener una lista de todos los .comdominios? Esto parece información útil, a menos que ya esté disponible en algún lugar de forma gratuita. Me doy cuenta de que la información del dominio es pública, pero aún es difícil de obtener a granel. Supongo *.gtld-servers.netque no admite transferencias de zona (aunque .edulos servidores de nombres sí lo hicieron, al menos hace unos años).

NOTA: Me doy cuenta de que example.com no es un dominio real, solo reemplácelo con cualquier otro dominio .com anterior (originalmente tenía xyz.com, pero alguien lo editó correctamente para evitar el uso de un nombre de dominio real).

barrycarter
fuente
Pregunta de seguimiento: sí, podrían obtener la lista, y para la mayoría de los dominios de nivel superior, dicha lista no está disponible públicamente y "solo" se le permite consultar por nombre. Algunas zonas aún son públicas (actualmente), por ejemplo, la zona raíz o la sueca.
Vladimír Čunát
1
@ VladimírČunát para todos los gTLD que los archivos de zona son públicos, consulte czds.icann.org/en Esto es por contrato de ICANN. Para los ccTLD, varía, pero la mayoría no da esta lista.
Patrick Mevzek
@PatrickMevzek agradable, aunque los gTLD más interesantes aparentemente no están allí (com, org, ...).
Vladimír Čunát
@ VladimírČunát para aquellos que no están allí, debe comunicarse con el registro de gTLD: tendrán un proceso separado porque su contrato con la ICANN les exige que den acceso a sus archivos de zona.
Patrick Mevzek

Respuestas:

18

Sí, los "x.gtld-servers.net" son los servidores autorizados para el dominio de nivel superior "com", por lo que tienen todos los "punteros" para los dominios .com. Puede ver los servidores de nombres para el TLD ejecutando

dig -t ns com
dig -t ns us
dig -t ns dk
dig -t ns aero
Pregunta a Bjørn Hansen
fuente
Con nombres de etiqueta única, es mejor incluir el final .- com., us.- para evitar que se agregue el nombre de dominio predeterminado. (Por ejemplo, cuando se resuelven comdentro de la red de Contoso Inc, el sistema podría tratar com.contoso.net. antes solo com.)
user1686
44
Creo que dignunca usa la ruta de búsqueda; otras "herramientas de depuración de dns reales" tampoco deberían. (nslookup lo hace, pero no lo use para depurar dns). :-)
Pregunte a Bjørn Hansen el
1
Oh las viejas formas. : D @ AskBjørnHansen tiene mucha razón. solo use cavar en lugar de nslookupen todos los casos
Dan Bradbury
entonces tienen todos los "punteros" para los dominios .com. para ser precisos, tienen todos los nombres de dominio .COM que están delegados, es decir, tienen registros NS, que no son absolutamente todos los nombres de dominio .COM existentes, hay una pequeña diferencia porcentual.
Patrick Mevzek
@grawity el punto final solo sería estrictamente necesario si hay ambigüedad. -tes opcional, puede hacer dig com NSy cavar hará lo correcto (pongo el tipo de registro en mayúsculas solo como una convención para facilitar la lectura, pero esto no es obligatorio). Pero cuando desea hacer una consulta para algo que podría interpretarse como una opción, tiene un problema, resuelto por el punto.
Patrick Mevzek
3

Haga una consulta para el dominio en sí mismo - dig @a.gtld-servers.net com.y busque el indicador de "respuesta autorizada":

snowflake ~ $ dig @a.gtld-servers.net com | grep flags
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
             ^^
usuario1686
fuente
1

Ya recibiste una respuesta hace mucho tiempo, pero creo que podemos ser más precisos y tienes una pregunta de seguimiento, que debería haber sido otra pregunta.

Así que volvamos desde el principio.

Si consulta a los servidores raíz para obtener información sobre la .COMdelegación (tenga en cuenta que todo lo siguiente se aplica de la misma manera .NETya que ambos son manejados por el mismo registro) obtendrá esta respuesta:

$ dig @a.root-servers.net com. NS +noall +auth

; <<>> DiG 9.12.0 <<>> @a.root-servers.net com. NS +noall +auth
; (1 server found)
;; global options: +cmd
com.            172800 IN NS e.gtld-servers.net.
com.            172800 IN NS b.gtld-servers.net.
com.            172800 IN NS j.gtld-servers.net.
com.            172800 IN NS m.gtld-servers.net.
com.            172800 IN NS i.gtld-servers.net.
com.            172800 IN NS f.gtld-servers.net.
com.            172800 IN NS a.gtld-servers.net.
com.            172800 IN NS g.gtld-servers.net.
com.            172800 IN NS h.gtld-servers.net.
com.            172800 IN NS l.gtld-servers.net.
com.            172800 IN NS k.gtld-servers.net.
com.            172800 IN NS c.gtld-servers.net.
com.            172800 IN NS d.gtld-servers.net.

En resumen, cualquiera de estos servidores de nombres tiene autoridad .COMy todos tienen los mismos datos (por lo que puede ampliar su pregunta, a.gtld-servers.netde ninguna manera es especial, todo lo siguiente se aplicará a cualquiera de estos servidores de nombres).

Cuando consulte a estos servidores de nombres para cualquier .COM/.NETnombre de dominio, deben responder con autoridad con los servidores de nombres autorizados para el nombre de dominio que está solicitando.

Por lo tanto, por definición, "¿Eso significa que a.gtld-servers.net (y * .gtld-Server.net) tienen un registro de todos los dominios .com localmente?", ¡Pero significa exactamente eso! Con algunas advertencias sobre "todo" que se aborda más abajo.

Tenga en cuenta que habla de registros de pegamento, este es un caso específico y no el más frecuente. Normalmente, una solicitud de un dominio en cualquiera de los servidores de nombres anteriores devolverá uno o más registros NS.

Dediquemos tiempo a abordar los otros puntos menores en su texto:

Responden muy rápido, así que no creo que estén haciendo una consulta más.

Un servidor de nombres autorizado, por definición, tiene los datos que necesita para responder consultas, sin tener que depender de ningún recurso externo, de lo contrario no es realmente autorizado.

En cuanto a la velocidad, esto es en parte subjetivo y altamente dependiente de qué y cómo se prueba, pero hay varios factores: de forma predeterminada, el DNS utiliza UDP, que es más ligero que TCP y, por lo tanto, más rápido, y tales servidores de nombres se emiten, lo que significa que con un poco de suerte siempre tener uno "cerca" de usted.

Me doy cuenta de que a.gtld-servers.net es probablemente varias máquinas

Puede eliminar el "probablemente" :-) Estos servidores de nombres reciben tantas consultas que cualquier casilla nunca podrá resistir.

Si va a https://stat.ripe.net/192.5.6.30#tabId=routing , verá mucha información que puede ser difícil de digerir, pero básicamente, al ver que esta IP única de a.gtld-servers.net(de hecho, el bloque en el que es) es anunciado por varios AS, todos controlados por una compañía, lo cual es un fuerte indicador de cualquier difusión, que funciona muy bien para la mayoría de DNS.

Si va a http://www.root-servers.org/ puede obtener más información. Esto está relacionado con los servidores de nombres raíz, ya no son los .COMmismos, pero técnicamente es exactamente lo mismo. Podría descubrir, por ejemplo, que los 13 servidores raíz son administrados por 12 organizaciones diferentes en 930 instancias (una instancia no es solo un servidor, es una ubicación, un "punto de presencia" donde el operador tiene un "nodo" que normalmente es equipo de enrutamiento, múltiples servidores en equilibrio de carga / configuración de conmutación por error, algunas capacidades de monitoreo / manos remotas, etc.). Fpor ejemplo está en 222 lugares.

y que estoy siendo enrutado al más cercano a mí (a través de esa nueva tecnología one-ip-multiple-machine), pero esto solo significaría que varias otras máquinas tienen todos los dominios .com.

Sí, muchas máquinas tienen la lista de todos .COMlos nombres de dominio. Pero primero una precisión: en estos servidores de nombres obtendrá la lista de todos los servidores de nombres para todos los nombres de dominio .COM ... lo que significa que para los nombres de dominio no delegados no los encontrará aquí. Esto puede suceder en múltiples casos:

  1. cuando registra un nombre de dominio, puede elegir no establecer servidores de nombres o eliminarlos más tarde.
  2. su registrador, por ejemplo, debido a una disputa de pago podría agregar el estado clientHolden su nombre de dominio, lo que hace que desaparezca del DNS
  3. el registro podría poner el dominio serverHoldpor cualquier razón.

(consulte https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en si desea obtener más información sobre estos estados y otros).

Dependiendo de cómo defina "todos" y de lo que haría con dichos datos, es posible que no obtenga absolutamente todos ellos.

En todos los casos anteriores, el dominio no aparecerá en los servidores DNS del registro, pero aparecerá cuando realice una consulta whois. Entonces, los servidores whois (de nuevo, ni una sola caja) también tendrán ... la lista de todos los nombres de dominio .COM e incluso más datos que en los servidores de nombres porque:

  1. realmente tiene todos los nombres de dominio, incluidos los que no se resuelven y, por lo tanto, no están en los servidores de nombres de registro
  2. whois proporciona mucha más información, como datos de contacto

Y estos todavía son solo servicios de registro públicos que tienen, de alguna manera o parte, la lista (o parte de ella) de nombres de dominio.

En cuanto a su seguimiento:

Pregunta de seguimiento: si alguien "piratea" una de estas máquinas, ¿no podrían obtener una lista de todos los dominios .com?

Técnicamente sí. Pero:

  1. Este ciertamente no es el objetivo más fácil que encontrarás en línea
  2. Y en este caso específico, los datos ya están disponibles de forma gratuita.

.COMes un gTLD y, como tal, está bajo contrato con ICANN. La ICANN exige a todos los registros de gTLD que publiquen sus archivos de zona (que es básicamente lo que usan los servidores de nombres, por lo que los registros NS más las colas A / AAAA), al menos una vez al día, y el acceso es gratuito para cualquier persona siempre que firme un acuerdo para asegurarse de que no reutiliza estos datos con fines "malos" (como volver a publicarlos usted mismo).

Consulte https://czds.icann.org/en para obtener todos los detalles al respecto. Esto puede darle acceso a cientos de archivos de zona de gTLD.

Tenga en cuenta que si su pregunta se extiende a "si alguien piratea una de estas máquinas y cambia el contenido que agrega o elimina nombres de dominio .COM ...", entonces podemos responder rápidamente con:

  1. los cambios no se verán en todo el mundo, ya que solo hackea una casilla y hay numerosos servidores de nombres, primero por nombre y luego por anycasting
  2. DNSSEC puede hacer que sus cambios aparezcan como errores y, por lo tanto, se detectarán rápidamente (además de cualquier contramedida local por parte del operador, por supuesto).

En resumen, no es la mejor idea hacer eso para meterse con .COMlos nombres de dominio, y hay otras formas.

Me doy cuenta de que la información del dominio es pública, pero aún es difícil de obtener a granel.

Ver arriba para el programa ICANN. En cuanto a los ccTLD, la situación varía, pero con mayor frecuencia no dan acceso a su archivo de zona, y no en tiempo real.

A veces, puede acceder a él después de un tiempo, por ejemplo a través de movimientos de "datos abiertos". Un ejemplo: https://opendata.afnic.fr/en/products-and-services/services/opendata-en.html para .FRnombres de dominio.

Supongo que * .gtld-Server.net no admite transferencias de zona (aunque los servidores de nombres de .edu lo hicieron, al menos hace unos años).

Fácil de probar:

$ for ns in $(dig NS . +noall +ans | grep 'IN NS' | awk '{print $5}') ; do echo $ns ; dig @$ns com. AXFR; done
c.root-servers.net.

; <<>> DiG 9.12.0 <<>> @c.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
m.root-servers.net.

; <<>> DiG 9.12.0 <<>> @m.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
i.root-servers.net.

; <<>> DiG 9.12.0 <<>> @i.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
e.root-servers.net.

; <<>> DiG 9.12.0 <<>> @e.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
j.root-servers.net.

; <<>> DiG 9.12.0 <<>> @j.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
l.root-servers.net.

; <<>> DiG 9.12.0 <<>> @l.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
g.root-servers.net.

; <<>> DiG 9.12.0 <<>> @g.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
k.root-servers.net.

; <<>> DiG 9.12.0 <<>> @k.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
b.root-servers.net.

; <<>> DiG 9.12.0 <<>> @b.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
h.root-servers.net.

; <<>> DiG 9.12.0 <<>> @h.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
d.root-servers.net.

; <<>> DiG 9.12.0 <<>> @d.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

;; Connection to 199.7.91.13#53(199.7.91.13) for com. failed: timed out.
;; QUERY SIZE: 44

;; Connection to 199.7.91.13#53(199.7.91.13) for com. failed: timed out.
;; QUERY SIZE: 44

;; connection timed out; no servers could be reached
;; Connection to 199.7.91.13#53(199.7.91.13) for com. failed: timed out.
a.root-servers.net.

; <<>> DiG 9.12.0 <<>> @a.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
f.root-servers.net.

; <<>> DiG 9.12.0 <<>> @f.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.

No, en este momento, ningún .COMservidor de nombres autorizado acepta consultas AXFR. Pero esto no es necesariamente lo mismo en todas partes. Si consulta el f.root-servers.netservidor de nombres, puede hacer una consulta AXFR para publicar todos los TLD. Algunos otros TLD también pueden permitir eso.

Tenga en cuenta que hay "muchas" recomendaciones en contra de permitir consultas públicas de AXFR. Los hechos son que, por definición, son respuestas enormes y que podrían dañar al servidor si se repiten, es cierto. On puede discutir sin cesar sobre por qué / si el público necesita esta información. Al principio del DNS se usaba más para copiar zonas entre servidores de nombres (ahora hay alternativas mucho mejores). Entonces, AXFR a menudo está deshabilitado ... excepto que si hace DNSSEC al mismo tiempo, de alguna manera específica (que es NSEC y no la variante NSEC3), es fácil caminar, a través de consultas DNS estándar y sin AXFR, todos sus zona y reconstruir el archivo de zona. Existen herramientas para hacer eso.

Tenga en cuenta también que varios proveedores en línea le venderán archivos de zona y / o una lista de todos los nombres de dominio para muchos TLD, que adquirieron por diversos medios (una idea entre otras: toma los archivos de zona abiertos, como .COM, y para TLD .exampleconsulta uno por uno todo el nombre que ha encontrado .COM, que podría darle algunas ideas, además de, por supuesto, caminar por el diccionario en función de los idiomas más utilizados en el TLD buscado).

Patrick Mevzek
fuente