Dig, Domain Information Groper es una de las utilidades útiles para buscar el Sistema de nombres de dominio (DNS). El comando ayuda a los administradores a consultar un dominio para obtener su información de DNS. Por ejemplo, servidores de nombres, direcciones IP, registros de recursos como A, CNAME, MX, NS, etc. También ayuda a validar un dominio recuperando el registro RRSIG de un dominio que está firmado por la Extensión de seguridad del sistema de nombres de dominio (DNSSEC). Si desea configurar un servidor DNS, es posible que desee probar algunos comandos de excavación para asegurarse de que la configuración funcione correctamente. En este artículo, mostraré 13 comandos de ejemplo de excavación con resultados de muestra para su referencia.
1. Formato de comando básico
$dig kernel.org ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> kernel.org ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64302 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 5 ;; QUESTION SECTION: ;kernel.org. IN A ;; ANSWER SECTION: kernel.org. 339 IN A 149.20.4.69 kernel.org. 339 IN A 198.145.20.140 ;; AUTHORITY SECTION: kernel.org. 76838 IN NS ns1.kernel.org. kernel.org. 76838 IN NS ns0.kernel.org. kernel.org. 76838 IN NS ns2.kernel.org. ;; ADDITIONAL SECTION: ns1.kernel.org. 76838 IN A 149.20.20.144 ns1.kernel.org. 76838 IN AAAA 2001:4f8:8:10::1:1 ns2.kernel.org. 76838 IN A 149.20.4.80 ns2.kernel.org. 76838 IN AAAA 2001:4f8:1:10::1:1 ns0.kernel.org. 76838 IN A 198.145.19.196 ;; Query time: 70 msec ;; SERVER: 10.180.0.11#53(10.180.0.11) ;; WHEN: Thu Nov 14 18:15:32 2013 ;; MSG SIZE rcvd: 218
La salida de excavación consta de:encabezados, sección de preguntas, sección de respuestas, sección de autoridad, sección adicional y estadísticas.
Encabezados: Los encabezados consisten en información sobre la versión de dig que está utilizando y el dominio al que se realiza la consulta. Si la consulta se hizo a un DNS específico, la información del servidor DNS también se muestra debajo del encabezado.
Sección de preguntas: Esto muestra la pregunta que se le hizo a DNS. Por ejemplo, el comando anterior se dirige al dominio 'kernel.org' y el tipo predeterminado utilizado es el registro 'A'. Significa que consultamos para recuperar un registro de kernel.org.
Sección de respuesta: Aquí está la respuesta a la pregunta formulada. Obtienes la dirección IP del dominio kernel.org
Sección de Autoridad :Los servidores de nombres que respondieron a la consulta. Enumera los servidores de nombres del dominio kernel.org.
Sección Adicional :Esta sección contiene la dirección IP de los servidores de nombres.
Estadísticas :Esta sección contiene el tamaño del mensaje recibido y el tiempo necesario para recuperar los registros.
2. Deshabilitar secciones específicas en la salida de excavación
$dig kernel.org +nostats +noadditional +nocomments +noquestion +noauthority ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> kernel.org +nostats +noadditional +nocomments +noquestion +noauthority ;; global options: +cmd kernel.org. 377 IN A 149.20.4.69 kernel.org. 377 IN A 198.145.20.140
+noadditional :desactivar la sección adicional
+nocomments :desactivar comentarios
+nostats:desactivar las estadísticas de consulta
+noquestion:desactivar la sección de preguntas
+noauthority:Desactivar la sección de Autoridad
3. Mostrar solo una sección específica
$ dig kernel.org +noall +answer
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> kernel.org +noall +answer ;; global options: +cmd kernel.org. 275 IN A 198.145.20.140 kernel.org. 275 IN A 149.20.4.69
+noall :Deshabilita todas las secciones
+respuesta:muestra solo la sección de respuesta
4. Consultar registro MX de un dominio
$dig kernel.org MX +noall +answer ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> kernel.org MX +noall +answer ;; global options: +cmd kernel.org. 488 IN MX 10 mail.kernel.org. kernel.org. 488 IN MX 20 ns1.kernel.org. kernel.org. 488 IN MX 999 bl-ckh-le.kernel.org.
Lo mismo se puede lograr usando la opción -t MX también.
$ dig -t MX kernel.org +noall +answer ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t MX kernel.org +noall +answer ;; global options: +cmd kernel.org. 399 IN MX 10 mail.kernel.org. kernel.org. 399 IN MX 20 ns1.kernel.org. kernel.org. 399 IN MX 999 bl-ckh-le.kernel.org.
5. Consultar registros NS de un dominio
$ dig -t NS kernel.org +noall +answer ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t NS kernel.org +noall +answer ;; global options: +cmd kernel.org. 21479 IN NS ns0.kernel.org. kernel.org. 21479 IN NS ns2.kernel.org. kernel.org. 21479 IN NS ns1.kernel.org.
or
$ dig kernel.org NS +noall +answer ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> kernel.org NS +noall +answer ;; global options: +cmd kernel.org. 21442 IN NS ns0.kernel.org. kernel.org. 21442 IN NS ns2.kernel.org. kernel.org. 21442 IN NS ns1.kernel.org.
6. Mostrar TODOS los registros DNS
Todos los registros DNS de un dominio se pueden recuperar mediante la opción "CUALQUIER".
$ dig kernel.org ANY +noall +answer ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> kernel.org ANY +noall +answer ;; global options: +cmd kernel.org. 600 IN SOA ns1.kernel.org. hostmaster.ns1.kernel.org. 2013081404 600 150 604800 600 kernel.org. 21600 IN NS ns1.kernel.org. kernel.org. 21600 IN NS ns2.kernel.org. kernel.org. 21600 IN NS ns0.kernel.org. kernel.org. 600 IN A 149.20.4.69 kernel.org. 600 IN A 198.145.20.140 kernel.org. 600 IN MX 10 mail.kernel.org. kernel.org. 600 IN MX 20 ns1.kernel.org. kernel.org. 600 IN MX 999 bl-ckh-le.kernel.org.
OR
$ dig -t ANY kernel.org +noall +answer ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t ANY kernel.org +noall +answer ;; global options: +cmd kernel.org. 568 IN SOA ns1.kernel.org. hostmaster.ns1.kernel.org. 2013081404 600 150 604800 600 kernel.org. 21568 IN NS ns1.kernel.org. kernel.org. 21568 IN NS ns2.kernel.org. kernel.org. 21568 IN NS ns0.kernel.org. kernel.org. 568 IN A 149.20.4.69 kernel.org. 568 IN A 198.145.20.140 kernel.org. 568 IN MX 10 mail.kernel.org. kernel.org. 568 IN MX 20 ns1.kernel.org. kernel.org. 568 IN MX 999 bl-ckh-le.kernel.org.
7. Use +corto para mostrar salidas cortas
Si desea ver solo la dirección IP de un dominio, utilice la opción +breve. La excavación extraerá solo el registro 'A' del dominio consultado.
$ dig kernel.org +short 149.20.4.69 198.145.20.140
8. Obtener registros DNSSEC
Para obtener registros DNSSEC de un dominio que está firmado con DNSSEC, use la opción '+dnssec' como se muestra a continuación,
$ dig dnssectest.sidn.nl +dnssec +short www.sidn.nl. CNAME 8 3 86400 20131214071501 20131114071501 42033 sidn.nl. oN/P1jg9Zcx4+2XK+dZXw4OhlsGJAEK14kcIv4VQsxM0CZoyvwGsd23C pfY3k1tPXBDOy/oE+gjO0FDq+5eXXERtlTA+5Mu9tjnM5TDW66IFgOgt RN5Hw79BjAHpIR06igjXO+hk9ZqKOWCMVjyJvDgRB3PbkRIe6PNmjmgA 5Y8= 213.136.31.220 A 8 3 86400 20131214071501 20131114071501 42033 sidn.nl. pM0FWWo+U7CKIG91LHq66ZIXvphBtFhuxguB+GELlOeHXkJYSon2DwB2 ayV+TdCp9YxqdnkzbPXIGs8xZCw+KuNGIxmWGRXNp9xCC4TVkgDLpHw7 VFzTgMjyoSOjQ01rBC3vXVsWZVjYkMnjARxg/eS97QKwUYeiRHfTemUQ 9qA=
Obtenga más información sobre DNSSEC y cómo validar la respuesta de DNS.
9. Realizar búsqueda inversa (IP a dominio)
Use la opción '-x' para realizar una búsqueda inversa.
$ dig -x 198.145.20.140 +short tiz-korg-pub.kernel.org
10. Consulta DNS múltiple usando la opción -f
$ more domains.txt kernel.org centos.org
Consulta usando la opción -f,
$ dig -f domains.txt +noall +answer kernel.org. 166 IN A 149.20.4.69 kernel.org. 166 IN A 198.145.20.140 centos.org. 46 IN A 85.12.30.227
11. Cómo utilizar un servidor DNS específico para responder a las consultas
El formato es así,
$dig @<dns_server> <domainname>
$dig @8.8.8.8 kernel.org
El comando enviará una consulta a Google DNS 8.8.8.8.
12. Cree .digrc para almacenar las opciones predeterminadas
Si usa un conjunto de opciones con más frecuencia, agréguelas al archivo $HOME/.digrc.
$ cat $HOME/.digrc +noall +answer
13. Use la opción '+multi' para mostrar la salida de varias líneas
La opción '+multi' es útil para mostrar la salida en varias líneas. Es útil para mostrar DNSKEY.
$ dig dnssectest.sidn.nl +dnssec +multi