Revista Tecnología

El comando unix dig es una de las mejores opciones a la hora de hacer troubleshooting.

Publicado el 27 agosto 2013 por Hugo Rep @HugoRep

El comando unix dig (domain information groper), con el permiso de nslookup, es una de las mejores opciones a la hora de hacer troubleshooting o debug de problemas DNS.

Vamos a ver unos cuantos ejemplos de algunas las posibilidades que nos ofrece.

Como siempre podrán encontrar más información en la página man del comando o la ayuda:

$ man dig
$ dig -h


Ejecución sin argumentos.

.Cuando ejecutamos el comando dig sin argumentos se realiza una consulta de los NS (Name Servers) raíz o root servers “.”. Cara al troubleshooting o debug no suele ser de mucha utilidad:

dig
Dominio como argumento.

La forma más común y simple de ejecutar dig. En este caso pasamos como argumento el dominio a consultar. Cuando no se especifica nada se consulta siempre el registro A del dominio.

Al no especificar tampoco los servidores DNS contra los que hacer la consulta se utilizan los especificados en nuestra conexión (/etc/resolv.conf). Debemos prestar especial importancia a la sección ANSWER SECTION, ya que muestra el resultado de nuestra consulta:

dig1
Dominio como argumento y usando un name server específico.

El comando anterior usaba el DNS local especificado en /etc/resolv.conf (127.0.0.1) para solicitar el registro A del dominio, en este caso vamos a hacer la consulta contra un NS externo, el de google por ejemplo (8.8.8.8). Se indica con la IP/nombre del servidor precedida de @.

Se puede ver en la sección final como se especifica el servidor que utilizamos para la query (negrita). La respuesta debería ser la misma que los servidores autoritativos del dominio, en caso contrario podría haber envenenamiento DNS, DNS spoofing…:

dig2
Especificar el registro (A, NS, MX, CNAME…) a consultar.

Como decía antes, por defecto se consulta el registro A del dominio, pero podemos especificar el tipo de registro que queramos (ANY, NS, A, MX, SIG,SOA…):
dig3
dig4
Consultar todos los registros de la zona DNS.

En lugar de especificar el tipo de registro a mostrar (A, MX, CNAME, AAAA…) podemos decir directamente que consulte todos los que se sirven en la zona DNS del dominio con el parámetero ANY:

dig5
Hacer debug con el parámetro trace.

El parámetro “+trace” es muy útil para hacer debug ante problemas de resolución DNS ya que permite ver la traza y saltos de la petición hasta que llega al servidor autoritativo que ofrece la respuesta del registro:
dig6
Para realizar consultas de reverse DNS tenemos el parámetro -x:
dig7

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

El comando unix dig es una de las mejores opciones a la hora de hacer troubleshooting.


Volver a la Portada de Logo Paperblog