
Digamos que estoy intentando buscar las IP mail.yahoo.com
ygmail.com
mail.google.com
Si ejecuto:
dig @8.8.8.8 +nocomments +noquestion \
+noauthority +noadditional +nostats +nocmd \
gmail.com mail.yahoo.com mail.google.com
Yo obtengo:
gmail.com. 299 IN A 173.194.123.21
gmail.com. 299 IN A 173.194.123.22
mail.yahoo.com. 0 IN CNAME login.yahoo.com.
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net.
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net.
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
mail.google.com. 0 IN CNAME googlemail.l.google.com.
googlemail.l.google.com. 243 IN A 173.194.123.21
googlemail.l.google.com. 243 IN A 173.194.123.22
¿Puedo asegurarme de que si veo un CNAME
registro, el A
registro correspondiente no aparecerá antes que el CNAME
correspondiente a otra máquina o un A
registro para otro nombre de host?
Por ejemplo, permítanme centrarme en mail.yahoo.com
(solo quiero que la IP o las IP mail.yahoo.com
se resuelvan en):
Esta es la salida:
mail.yahoo.com. 0 IN CNAME login.yahoo.com.
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net.
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net.
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
El nombre de host que estoy buscando ( mail.yahoo.com
) es la primera columna de la primera entrada. Luego hay un montón de CNAMES
cosas que realmente no me importan, y luego un A
registro con la IP real (que sí me importa).
¿Existe la posibilidad de que los registros CNAMES
o A
se estropeen? Algo como:
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net. #(!)BAD
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net. #(!)BAD
mail.yahoo.com. 0 IN CNAME login.yahoo.com.
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
O peor aún (el A
registro real arriba):
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
mail.yahoo.com. 0 IN CNAME login.yahoo.com.
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net.
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net.
O lo peor de lo peor (en una ejecución multiresolución dig
, como la que se muestra en la parte superior de la publicación):
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net.
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
mail.google.com. 0 IN CNAME googlemail.l.google.com. # This one I want
gmail.com. 299 IN A 173.194.123.21 # This one I want
gmail.com. 299 IN A 173.194.123.22 # This one I want
mail.yahoo.com. 0 IN CNAME login.yahoo.com. # This one I want
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net.
googlemail.l.google.com. 243 IN A 173.194.123.21
googlemail.l.google.com. 243 IN A 173.194.123.22
Gracias de antemano.
Respuesta1
No, el orden del resultado devuelto depende del servidor DNS y usted no tiene control sobre eso, por lo que no dependería del orden de un servidor DNS en particular.
Creo, y mis pruebas hasta ahora lo han confirmado, que las consultas reales se realizan en orden, en su caso, primero google.com y último mail.google.com; eso se debe a que dig ejecutará las consultas en el orden que usted especificar en la línea de comando.
Debido a cómo está configurada la sintaxis de la línea de comandos, el orden es importante. De ahí mi respuesta. Si no se acercara a ellos en el orden especificado, cualquier modificador no global se arruinaría.
Desde la página de manual:
La implementación BIND 9 de dig admite la especificación de múltiples consultas en la línea de comando (además de admitir la opción de archivo por lotes -f). Cada una de esas consultas se puede proporcionar con su propio conjunto de indicadores, opciones y opciones de consulta.
En este caso, cada argumento de consulta representa una consulta individual en la sintaxis de línea de comandos descrita anteriormente. Cada uno consta de cualquiera de las opciones e indicadores estándar, el nombre que se buscará, un tipo y clase de consulta opcional y cualquier opción de consulta que deba aplicarse a esa consulta.