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.