8 Comando Linux Dig (Domain Information Groper) para consultar DNS


En nuestro último artículo te mostramos los 8 comandos de Nslookup más usados con sus ejemplos, ahora aquí venimos con otra herramienta de línea de comandos llamada Dig, que es muy similar a la herramienta Nslookup de Linux. Veremos el uso del comando dig de cerca con sus ejemplos como se muestra a continuación.

Dig significa (Domain Information Groper) es una herramienta de línea de comandos de administración de red para consultar servidores de nombres del Sistema de nombres de dominio (DNS). Es útil para verificar y solucionar problemas de DNS y también para realizar búsquedas de DNS y muestra las respuestas que se devuelven desde el servidor de nombres que se consultó. dig es parte del paquete de software de servidor de nombres de dominio BIND. El comando dig reemplaza una herramienta anterior como nslookup y el host. La herramienta dig está disponible en las principales distribuciones de Linux.

# dig yahoo.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

El comando anterior hace que dig busque el registro "A" para el nombre de dominio yahoo.com. El comando Dig lee el archivo /etc/resolv.conf y consulta los servidores DNS enumerados allí. La respuesta del servidor DNS es lo que muestra dig.

  1. Líneas que comienzan con; son comentarios que no forman parte de la información.
  2. La primera línea nos dice la versión del comando dig (9.8.2).
  3. A continuación, dig muestra el encabezado de la respuesta que recibió del servidor DNS
  4. Luego viene la sección de preguntas, que simplemente nos dice la consulta, que en este caso es una consulta para el registro "A" de yahoo.com. IN significa que se trata de una búsqueda en Internet (en la clase de Internet).
  5. La sección de respuestas nos dice que yahoo.com tiene la dirección IP 72.30.38.140
  6. Por último, hay algunas estadísticas sobre la consulta. Puede desactivar estas estadísticas con la opción + nostats.

Por defecto, excavar es bastante detallado. Una forma de reducir la salida es usar la opción + short. lo que reducirá drásticamente la salida como se muestra a continuación.

# dig yahoo.com +short

98.139.183.24
72.30.38.140
98.138.253.109

Nota: De forma predeterminada, excavar busca el registro "A" del dominio especificado, pero también puede especificar otros registros. El registro MX o Mail eXchange le dice a los servidores de correo cómo enrutar el correo electrónico para el dominio. Asimismo, TTL, SOA, etc.

Consultando diferentes tipos de registros de recursos DNS únicamente.

# dig yahoo.com MX

; <> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <> yahoo.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31450
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 24

;; QUESTION SECTION:
;yahoo.com.                     IN      MX

;; ANSWER SECTION:
yahoo.com.              33      IN      MX      1 mta6.am0.yahoodns.net.
yahoo.com.              33      IN      MX      1 mta7.am0.yahoodns.net.
yahoo.com.              33      IN      MX      1 mta5.am0.yahoodns.net.
# dig yahoo.com SOA

; <> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <> yahoo.com SOA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2197
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 7, ADDITIONAL: 7

;; QUESTION SECTION:
;yahoo.com.                     IN      SOA

;; ANSWER SECTION:
yahoo.com.              1800    IN      SOA     ns1.yahoo.com. hostmaster.yahoo-inc.com. 2012081409 3600 300 1814400 600
# dig yahoo.com TTL

; <> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <> yahoo.com TTL
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56156
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

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

;; ANSWER SECTION:
yahoo.com.              3589    IN      A       98.138.253.109
yahoo.com.              3589    IN      A       98.139.183.24
yahoo.com.              3589    IN      A       72.30.38.140
# dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
yahoo.com.              3442    IN      A       72.30.38.140
yahoo.com.              3442    IN      A       98.138.253.109
yahoo.com.              3442    IN      A       98.139.183.24
# dig yahoo.com ANY +noall +answer

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com ANY +noall +answer
;; global options: +cmd
yahoo.com.              3509    IN      A       72.30.38.140
yahoo.com.              3509    IN      A       98.138.253.109
yahoo.com.              3509    IN      A       98.139.183.24
yahoo.com.              1709    IN      MX      1 mta5.am0.yahoodns.net.
yahoo.com.              1709    IN      MX      1 mta6.am0.yahoodns.net.
yahoo.com.              1709    IN      MX      1 mta7.am0.yahoodns.net.
yahoo.com.              43109   IN      NS      ns2.yahoo.com.
yahoo.com.              43109   IN      NS      ns8.yahoo.com.
yahoo.com.              43109   IN      NS      ns3.yahoo.com.
yahoo.com.              43109   IN      NS      ns1.yahoo.com.
yahoo.com.              43109   IN      NS      ns4.yahoo.com.
yahoo.com.              43109   IN      NS      ns5.yahoo.com.
yahoo.com.              43109   IN      NS      ns6.yahoo.com.

Consulta de búsqueda inversa de DNS. Mostrar solo la sección de respuestas con + short.

# dig -x 72.30.38.140 +short

ir1.fp.vip.sp2.yahoo.com.

Consultar la consulta de consulta específica de DNS de varios sitios web. Registros MX, NS, etc.

# dig yahoo.com mx +noall +answer redhat.com ns +noall +answer

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com mx +noall +answer redhat.com ns +noall +answer
;; global options: +cmd
yahoo.com.              1740    IN      MX      1 mta6.am0.yahoodns.net.
yahoo.com.              1740    IN      MX      1 mta7.am0.yahoodns.net.
yahoo.com.              1740    IN      MX      1 mta5.am0.yahoodns.net.
redhat.com.             132     IN      NS      ns1.redhat.com.
redhat.com.             132     IN      NS      ns4.redhat.com.
redhat.com.             132     IN      NS      ns3.redhat.com.
redhat.com.             132     IN      NS      ns2.redhat.com.

Cree un archivo .digrc en $HOME/.digrc para almacenar las opciones de excavación predeterminadas.

# dig yahoo.com
yahoo.com.              3427    IN      A       72.30.38.140
yahoo.com.              3427    IN      A       98.138.253.109
yahoo.com.              3427    IN      A       98.139.183.24

Tenemos opciones store + noall + answer permanentemente en el archivo .digrc en el directorio de inicio del usuario. Ahora, siempre que se ejecute el comando dig, solo mostrará la sección de respuesta de la salida de excavación. No es necesario escribir siempre opciones como + notodos + respuesta.

En este artículo, intentamos encontrar el comando dig que puede ayudarlo a buscar información relacionada con el Servicio de nombres de dominio (DNS). Comparta sus pensamientos a través del cuadro de comentarios.