Comando dig

El comando dig es una herramienta para realizar consultas a los servidores DNS para solicitar información sobre direcciones de host, intercambiadores de correo, servidores de nombres e información relacionada. Dicha herramienta puede ser utilizada desde cualquier Linux ( Unix ) o desde los sistemas operativos Mac OS X.

Por ejemplo:

 

dig ejemplo.com

 

Resultado:

 

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> ejemplo.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62559
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ejemplo.com.                   IN      A

;; ANSWER SECTION:
ejemplo.com.            666     IN      A       xxx.xxx.xxx.xxx

;; AUTHORITY SECTION:
ejemplo.com.            155962  IN      NS      ns1.ejemplo.com.
ejemplo.com.            155962  IN      NS      ns2.ejemplo.com.

;; ADDITIONAL SECTION:
ns1.fabulous.com.       6844    IN      A       xxx.xxx.xxx.xxx
ns2.fabulous.com.       6844    IN      A       xxx.xxx.xxx.xxx

;; Query time: 78 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)
;; WHEN: Tue Mar 19 18:27:53 2013
;; MSG SIZE  rcvd: 170

 

Comprendiendo los resultados

La parte inicial del resultado nos indica la versión y las opciones globales que están especificadas ( en este caso printcmd ):

 

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> ejemplo.com
;; global options:  printcmd

 

En el siguiente apartado dig nos indica diferentes detalles técnicos sobre la respuesta del servidor DNS. Estas sección del resultado puede ser desactivada empleando la opción +[no]comments, pero hay que tener en cuenta que desactivando dicha opción también se desactivaran diferentes cabeceras de la información:

 

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62559
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 2, ADDITIONAL: 2

 

En el apartado de “question“, dig nos recuerda sobre nuestra consulta. La consulta por defecto es para una dirección de Internet (A):

 

;; QUESTION SECTION:
;ejemplo.com.                   IN      A

 

El siguiente apartado es la respuesta a la consulta. En este caso responde a una IP que en el ejemplo es xxx.xxx.xxx.xxx:

 

;; ANSWER SECTION:
ejemplo.com.            666     IN      A       xxx.xxx.xxx.xxx

 

La sección final del resultado por defecto contiene estadísticas sobre la consulta. Adicionalmente pueden ser desactivadas con la opción +[no]stats:

 

;; Query time: 78 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)
;; WHEN: Tue Mar 19 18:27:53 2013
;; MSG SIZE  rcvd: 170

 

Que puedo encontrar mediante dig

El comando dig permite realizar cualquier consulta DNS, las más comunes son las de los registros tipo A ( direcciones IP ), TXT ( anotaciones de texto ), MX ( servidores de correo ) y los servidores de nombre.

Empleando lo anteriormente mencionado con el ejemplo.com se nos mostrarán los siguientes resultados.

Para la dirección IP del dominio:

dig ejemplo.com A +noall +answer

El siguiente comando para mostrar todos los servidores de correo:

dig ejemplo.com MX +noall +answer

El siguiente comando sirve para mostrar todos los servidores de nombre:

dig ejemplo.com NS +noall +answer

El siguiente comando servirá para mostrar todo lo citado anteriormente:

dig ejemplo.com ANY +noall +answer

La siguiente consulta servirá para realizar la consulta empleando un servidor de nombre especifico:

dig @ns1.siliconhosting.com ejemplo.com

Y finalmente, el comando para trazar la ruta de la respuesta a la consulta:

dig ejemplo.com +trace

Para comentar sobre este artículo, rellena el formulario. Los campos marcados con un asterisco (*) son obligatorios.


*