GNU/Linux >> Tutoriales Linux >  >> Linux

10 ejemplos de comandos DIG de Linux para búsqueda de DNS

Dig significa groper de información de dominio.

Usando el comando de excavación, puede consultar los servidores de nombres DNS para sus tareas relacionadas con la búsqueda de DNS. Este artículo explica 10 ejemplos sobre cómo usar el comando de excavación.

1. Uso del comando de excavación simple (Comprender la salida de excavación)

Cuando pasa un nombre de dominio al comando dig, de forma predeterminada muestra el registro A (la dirección IP del sitio que se consulta) como se muestra a continuación.

En este ejemplo, muestra el registro A registro de redhat.com en la "SECCIÓN DE RESPUESTAS" de la salida del comando de excavación.

$ dig redhat.com

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62863
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

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

;; ANSWER SECTION:
redhat.com.             37      IN      A       209.132.183.81

;; AUTHORITY SECTION:
redhat.com.             73      IN      NS      ns4.redhat.com.
redhat.com.             73      IN      NS      ns3.redhat.com.
redhat.com.             73      IN      NS      ns2.redhat.com.
redhat.com.             73      IN      NS      ns1.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         73      IN      A       209.132.186.218
ns2.redhat.com.         73      IN      A       209.132.183.2
ns3.redhat.com.         73      IN      A       209.132.176.100

;; Query time: 13 msec
;; SERVER: 209.144.50.138#53(209.144.50.138)
;; WHEN: Thu Jan 12 10:09:49 2012
;; MSG SIZE  rcvd: 164

La salida del comando de excavación tiene las siguientes secciones:

  • Encabezado:muestra el número de versión del comando de excavación, las opciones globales utilizadas por el comando de excavación y poca información adicional del encabezado.
  • SECCIÓN DE PREGUNTAS:Esto muestra la pregunta que le hizo al DNS. es decir, esta es su entrada. Dado que dijimos 'dig redhat.com', y el tipo de comando de excavación predeterminado que se usa es un registro A, indica en esta sección que solicitamos el registro A del sitio web redhat.com
  • SECCIÓN DE RESPUESTAS:muestra la respuesta que recibe del DNS. es decir, esta es su salida. Esto muestra el registro A de redhat.com
  • SECCIÓN DE AUTORIDAD:Esto muestra el servidor de nombres DNS que tiene la autoridad para responder a esta consulta. Básicamente, esto muestra los servidores de nombres disponibles de redhat.com
  • SECCIÓN ADICIONAL:muestra la dirección IP de los servidores de nombres enumerados en la SECCIÓN DE AUTORIDAD.
  • La sección de estadísticas en la parte inferior muestra algunas estadísticas del comando de excavación, incluido el tiempo que tomó ejecutar esta consulta

2. Mostrar solo la SECCIÓN DE RESPUESTAS de la salida del comando Dig

En su mayor parte, todo lo que necesita mirar es la "SECCIÓN DE RESPUESTAS" del comando de excavación. Entonces, podemos desactivar todas las demás secciones como se muestra a continuación.

  • +nocomments:desactiva las líneas de comentarios
  • +noauthority – Desactivar la sección de autoridad
  • +noadditional – Desactivar la sección adicional
  • +nostats:desactiva la sección de estadísticas
  • +noanswer:desactiva la sección de respuestas (por supuesto, no querrás desactivar la sección de respuestas)

El siguiente comando de excavación muestra solo la SECCIÓN DE RESPUESTAS.

$ dig redhat.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
redhat.com.             9       IN      A       209.132.183.81

En lugar de deshabilitar todas las secciones que no queremos una por una, podemos deshabilitar todas las secciones usando +noall (esto también desactiva la sección de respuesta) y agregar +respuesta que mostrará solo la sección de respuesta.

El comando anterior también se puede escribir de forma abreviada como se muestra a continuación, que muestra solo la SECCIÓN DE RESPUESTAS.

$ dig redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com +noall +answer
;; global options: +cmd
redhat.com.             60      IN      A       209.132.183.81

3. Consultar registros MX usando dig -t MX

Para consultar registros MX, pase MX como argumento al comando dig como se muestra a continuación.

$ dig redhat.com  MX +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com MX +noall +answer
;; global options: +cmd
redhat.com.             513     IN      MX      5 mx1.redhat.com.
redhat.com.             513     IN      MX      10 mx2.redhat.com.

También puede usar la opción -t para pasar el tipo de consulta (por ejemplo:MX) como se muestra a continuación.

$ dig -t MX redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t MX redhat.com +noall +answer
;; global options: +cmd
redhat.com.             489     IN      MX      10 mx2.redhat.com.
redhat.com.             489     IN      MX      5 mx1.redhat.com.

4. Consultar registros NS usando dig -t NS

Para consultar el registro NS, use el tipo NS como se muestra a continuación.

$ dig redhat.com NS +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com NS +noall +answer
;; global options: +cmd
redhat.com.             558     IN      NS      ns2.redhat.com.
redhat.com.             558     IN      NS      ns1.redhat.com.
redhat.com.             558     IN      NS      ns3.redhat.com.
redhat.com.             558     IN      NS      ns4.redhat.com.

También puede usar la opción -t para pasar el tipo de consulta (por ejemplo:NS) como se muestra a continuación.

$ dig -t NS redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t NS redhat.com +noall +answer
;; global options: +cmd
redhat.com.             543     IN      NS      ns4.redhat.com.
redhat.com.             543     IN      NS      ns1.redhat.com.
redhat.com.             543     IN      NS      ns3.redhat.com.
redhat.com.             543     IN      NS      ns2.redhat.com.

5. Ver TODOS los tipos de registros DNS usando dig -t ANY

Para ver todos los tipos de registro (A, MX, NS, etc.), use CUALQUIERA como tipo de registro, como se muestra a continuación.

$ dig redhat.com ANY +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com ANY +noall +answer
;; global options: +cmd
redhat.com.             430     IN      MX      5 mx1.redhat.com.
redhat.com.             430     IN      MX      10 mx2.redhat.com.
redhat.com.             521     IN      NS      ns3.redhat.com.
redhat.com.             521     IN      NS      ns1.redhat.com.
redhat.com.             521     IN      NS      ns4.redhat.com.
redhat.com.             521     IN      NS      ns2.redhat.com.

(o) Use -t ANY

$ dig -t ANY redhat.com  +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t ANY redhat.com +noall +answer
;; global options: +cmd
redhat.com.             367     IN      MX      10 mx2.redhat.com.
redhat.com.             367     IN      MX      5 mx1.redhat.com.
redhat.com.             458     IN      NS      ns4.redhat.com.
redhat.com.             458     IN      NS      ns1.redhat.com.
redhat.com.             458     IN      NS      ns2.redhat.com.
redhat.com.             458     IN      NS      ns3.redhat.com.

6. Ver salida corta usando dig +short

Para ver solo la dirección IP de un sitio web (es decir, el registro A), use la opción de forma abreviada como se muestra a continuación.

$ dig redhat.com +short
209.132.183.81

También puede especificar un tipo de registro que desea ver con la opción +breve.

$ dig redhat.com ns +short
ns2.redhat.com.
ns3.redhat.com.
ns1.redhat.com.
ns4.redhat.com.

7. Búsqueda inversa de DNS usando dig -x

Para realizar una búsqueda inversa de DNS usando la dirección IP usando dig -x como se muestra a continuación

Por ejemplo, si solo tiene una dirección IP externa y le gustaría saber el sitio web que le pertenece, haga lo siguiente.

$ dig -x 209.132.183.81 +short
www.redhat.com.

Para ver los detalles completos de la búsqueda inversa de DNS, elimine la opción +corta.

$ dig -x 209.132.183.81

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -x 209.132.183.81
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62435
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;81.183.132.209.in-addr.arpa.   IN      PTR

;; ANSWER SECTION:
81.183.132.209.in-addr.arpa. 600 IN     PTR     www.redhat.com.

;; AUTHORITY SECTION:
183.132.209.in-addr.arpa. 248   IN      NS      ns2.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns1.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns3.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns4.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         363     IN      A       209.132.186.218
ns2.redhat.com.         363     IN      A       209.132.183.2
ns3.redhat.com.         363     IN      A       209.132.176.100

;; Query time: 35 msec
;; SERVER: 209.144.50.138#53(209.144.50.138)
;; WHEN: Thu Jan 12 10:15:00 2012
;; MSG SIZE  rcvd: 193

8. Use un servidor DNS específico usando dig @dnsserver

Por defecto, dig usa los servidores DNS definidos en su archivo /etc/resolv.conf.

Si desea utilizar un servidor DNS diferente para realizar la consulta, especifíquelo en la línea de comandos como @dnsserver.

El siguiente ejemplo usa ns1.redhat.com como servidor DNS para obtener la respuesta (en lugar de usar los servidores DNS del archivo /etc/resolv.conf).

$ dig @ns1.redhat.com redhat.com

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> @ns1.redhat.com redhat.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20963
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; WARNING: recursion requested but not available

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

;; ANSWER SECTION:
redhat.com.             60      IN      A       209.132.183.81

;; AUTHORITY SECTION:
redhat.com.             600     IN      NS      ns1.redhat.com.
redhat.com.             600     IN      NS      ns4.redhat.com.
redhat.com.             600     IN      NS      ns3.redhat.com.
redhat.com.             600     IN      NS      ns2.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         600     IN      A       209.132.186.218
ns2.redhat.com.         600     IN      A       209.132.183.2
ns3.redhat.com.         600     IN      A       209.132.176.100
ns4.redhat.com.         600     IN      A       209.132.188.218

;; Query time: 160 msec
;; SERVER: 209.132.186.218#53(209.132.186.218)
;; WHEN: Thu Jan 12 10:22:11 2012
;; MSG SIZE  rcvd: 180

9. Consulta masiva de DNS usando dig -f (y línea de comando)

Consulta múltiples sitios web usando un archivo de datos:

Puede realizar una consulta DNS masiva basada en los datos de un archivo.

Primero, cree un archivo de muestra de nombres.txt que contenga el sitio web que desea consultar.

$ vi names.txt
redhat.com
centos.org

A continuación, ejecute dig -f como se muestra a continuación, que realizará una consulta de DNS para los sitios web enumerados en el archivo names.txt y mostrará el resultado.

$ dig -f names.txt +noall +answer
redhat.com.             60      IN      A       209.132.183.81
centos.org.             60      IN      A       72.232.194.162

También puede combinar el tipo de registro con la opción -f. El siguiente ejemplo muestra los registros MX de varios sitios web que se encuentran en el archivo names.txt.

$ dig -f names.txt MX +noall +answer
redhat.com.             600     IN      MX      10 mx2.redhat.com.
redhat.com.             600     IN      MX      5 mx1.redhat.com.
centos.org.             3600    IN      MX      10 mail.centos.org.

Consulta varios sitios web desde la línea de comandos de excavación:

También puede consultar varios sitios web desde la línea de comandos de excavación, como se muestra a continuación. El siguiente ejemplo consulta el registro MX para redhat.com y el registro NS para centos.org desde la línea de comando

$ dig redhat.com mx +noall +answer centos.org ns +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com mx +noall +answer centos.org ns +noall +answer
;; global options: +cmd
redhat.com.             332     IN      MX      10 mx2.redhat.com.
redhat.com.             332     IN      MX      5 mx1.redhat.com.
centos.org.             3778    IN      NS      ns3.centos.org.
centos.org.             3778    IN      NS      ns4.centos.org.
centos.org.             3778    IN      NS      ns1.centos.org.

10. Use el archivo $HOME/.digrc para almacenar las opciones de excavación predeterminadas

Si siempre está tratando de ver solo la sección RESPUESTAS de la salida de excavación, no tiene que seguir escribiendo "+noall +answer" en cada comando de excavación. En su lugar, agregue sus opciones de excavación al archivo .digrc como se muestra a continuación.

$ cat $HOME/.digrc
+noall +answer

Ahora, cada vez que ejecute el comando de excavación, siempre usará las opciones +noall y +answer por defecto. Ahora la línea de comando de excavación se volvió muy simple y fácil de leer sin tener que escribir esas opciones cada vez.

$ dig redhat.com
redhat.com.             60      IN      A       209.132.183.81

$ dig redhat.com MX
redhat.com.             52      IN      MX      5 mx1.redhat.com.
redhat.com.             52      IN      MX      10 mx2.redhat.com.

Linux
  1. Comando killall de Linux para principiantes (8 ejemplos)

  2. Cómo usar el comando Dig en Linux con ejemplos

  3. Ejemplos útiles de excavación de Linux para el administrador de red

  4. 10 ejemplos de comandos nslookup de Linux para búsqueda de DNS

  5. Ejemplos de comandos de excavación en Linux

Tutorial de comandos OD de Linux para principiantes (6 ejemplos)

Tutorial de comando Linux w para principiantes (5 ejemplos)

Tutorial de comandos ss de Linux para principiantes (8 ejemplos)

Comando de localización de Linux para principiantes (8 ejemplos)

16 ejemplos prácticos del comando Linux LS para principiantes

Cómo usar el comando Dig en Linux (10 ejemplos)