Dig (Domain Information Groper) es una poderosa herramienta de línea de comandos para consultar servidores de nombres DNS.
El dig comando, le permite consultar información sobre varios registros DNS, incluidas direcciones de host, intercambios de correo y servidores de nombres. Es la herramienta más utilizada entre los administradores de sistemas para solucionar problemas de DNS debido a su flexibilidad y facilidad de uso.
Este tutorial explica cómo usar el dig utilidad a través de ejemplos prácticos y explicaciones detalladas de los dig más comunes opciones.
Instalando dig #
Para comprobar si dig el comando está disponible en su tipo de sistema:
dig -v La salida debería verse así:
DiG 9.11.3-1ubuntu1.1-Ubuntu
Si dig no está presente en su sistema, el comando anterior imprimirá "dig:comando no encontrado". El dig La herramienta se puede instalar usando el administrador de paquetes de la distribución.
Instalar dig en Ubuntu y Debian #
sudo apt update && sudo apt install dnsutils Instalar dig en CentOS y Fedora #
sudo yum install bind-utils Instalar dig en Arch Linux #
sudo pacman -S bind-tools Comprender la dig Salida #
En su forma más simple, cuando se utiliza para consultar un solo host (dominio) sin ninguna opción adicional, el dig el comando es bastante detallado.
En el siguiente ejemplo, estamos actuando en linux.org dominio:
dig linux.org La salida debería verse así:
Vayamos sección por sección y expliquemos el resultado del dig comando:
-
La primera línea de la salida imprime el
diginstalado versión y el nombre de dominio consultado. La segunda línea muestra las opciones globales (por defecto, solo cmd).; <<>> DiG 9.13.3 <<>> linux.org ;; global options: +cmdSi no desea que esas líneas se incluyan en la salida, use
+nocmdopción. Esta opción debe ser la primera después dedigcomando. -
La siguiente sección incluye detalles técnicos sobre la respuesta recibida de la autoridad solicitada (servidor DNS). El encabezado muestra el código de operación (la acción realizada por
dig) y el estado de la acción. En este ejemplo, el estado esNOERROR, lo que significa que la autoridad solicitada entregó la consulta sin ningún problema.;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5Esta sección se puede eliminar usando
+nocommentsopción, que también deshabilita los encabezados de algunas otras secciones. -
La pseudosección "OPT" solo se muestra en las versiones más recientes de
digutilidad. Puede leer más sobre los mecanismos de extensión para DNS (EDNS) aquí.;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096Para excluir esta sección de la salida, use
+noednsopción. -
En la sección "PREGUNTA"
digmuestra la consulta (pregunta). De forma predeterminada,digsolicita el registro A.;; QUESTION SECTION: ;linux.org. IN APuede deshabilitar esta sección usando
+noquestionopción. -
La sección “RESPUESTA” nos proporciona una respuesta a nuestra pregunta. Como ya mencionamos, por defecto
digsolicitará el registro A. Aquí podemos ver que el dominiolinux.orgapunta al104.18.59.123dirección IP.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123Por lo general, no desea desactivar la respuesta, pero puede eliminar esta sección de la salida usando
+noansweropción. -
La sección "AUTORIDAD" nos dice qué servidor(es) tienen la autoridad para responder consultas de DNS sobre el dominio consultado.
;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.Puede deshabilitar esta sección de la salida usando
+noauthorityopción. -
La sección "ADICIONAL" nos brinda información sobre las direcciones IP de los servidores DNS autorizados que se muestran en la sección de autoridad.
;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82El
+noadditionalopción desactiva la sección adicional de una respuesta. -
La última sección de la
digla salida incluye estadísticas sobre la consulta.;; Query time: 58 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Oct 12 11:46:46 CEST 2018 ;; MSG SIZE rcvd: 212Puede deshabilitar esta parte con
+nostatsopción.
Imprimir solo el número de respuesta
En general, le gustaría obtener solo una respuesta breve a su dig consulta.
1. Obtenga una respuesta corta #
Para obtener una respuesta breve a su consulta, use +short opción:
dig linux.org +short 104.18.59.123
104.18.58.123
La salida incluirá solo las direcciones IP del registro A.
2. Obtenga una respuesta detallada #
Para obtener una respuesta más detallada, apague todos los resultados usando +noall opciones y luego active solo la sección de respuesta con +answer opción.
dig linux.org +noall +answer ; <<>> DiG 9.13.3 <<>> linux.org +noall +answer
;; global options: +cmd
linux.org. 67 IN A 104.18.58.123
linux.org. 67 IN A 104.18.59.123
Servidor de nombre específico de consulta #
De forma predeterminada, si no se especifica ningún servidor de nombres, dig utiliza los servidores enumerados en /etc/resolv.conf archivo.
Para especificar un servidor de nombres en el que se ejecutará la consulta, utilice @ (arroba) seguido de la dirección IP o el nombre de host del servidor de nombres.
Por ejemplo, para consultar el servidor de nombres de Google (8.8.8.8) para obtener información sobre linux.org dominio que usaría:
dig linux.org @8.8.8.8 ; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;linux.org. IN A
;; ANSWER SECTION:
linux.org. 299 IN A 104.18.58.123
linux.org. 299 IN A 104.18.59.123
;; Query time: 54 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Oct 12 14:28:01 CEST 2018
;; MSG SIZE rcvd: 70
Consultar un Tipo de Registro #
Dig le permite realizar cualquier consulta de DNS válida agregando el tipo de registro al final de la consulta. En la siguiente sección, le mostraremos ejemplos de cómo buscar los registros más comunes, como A (la dirección IP), CNAME (nombre canónico), TXT (registro de texto), MX (intercambiador de correo) y NS ( servidores de nombres).
1. Consultando registros A #
Para obtener una lista de todas las direcciones de un nombre de dominio, use el a opción:
dig +nocmd google.com a +noall +answer google.com. 128 IN A 216.58.206.206
Como ya sabe, si no se especifica ningún tipo de registro DNS, dig solicitará el registro A. También puede consultar el registro A sin especificar el a opción.
2. Consultando registros CNAME #
Para encontrar el nombre de dominio de alias, use cname opción:
dig +nocmd mail.google.com cname +noall +answer mail.google.com. 553482 IN CNAME googlemail.l.google.com.
3. Consultando registros TXT #
Usa el txt opción para recuperar todos los registros TXT de un dominio específico:
dig +nocmd google.com txt +noall +answer google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"
google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
4. Consultando registros MX #
Para obtener una lista de todos los servidores de correo para un dominio específico, use el mx opción:
dig +nocmd google.com mx +noall +answer google.com. 494 IN MX 30 alt2.aspmx.l.google.com.
google.com. 494 IN MX 10 aspmx.l.google.com.
google.com. 494 IN MX 40 alt3.aspmx.l.google.com.
google.com. 494 IN MX 50 alt4.aspmx.l.google.com.
google.com. 494 IN MX 20 alt1.aspmx.l.google.com.
5. Consultando registros NS #
Para encontrar los servidores de nombres autorizados para nuestro dominio específico, use ns opción:
dig +nocmd google.com ns +noall +answer google.com. 84527 IN NS ns1.google.com.
google.com. 84527 IN NS ns2.google.com.
google.com. 84527 IN NS ns4.google.com.
google.com. 84527 IN NS ns3.google.com.
6. Consultando todos los registros #
Usa el any opción para obtener una lista de todos los registros DNS para un dominio específico:
dig +nocmd google.com any +noall +answer google.com. 299 IN A 216.58.212.14
google.com. 299 IN AAAA 2a00:1450:4017:804::200e
google.com. 21599 IN NS ns2.google.com.
google.com. 21599 IN NS ns1.google.com.
google.com. 599 IN MX 30 alt2.aspmx.l.google.com.
google.com. 21599 IN NS ns4.google.com.
google.com. 599 IN MX 50 alt4.aspmx.l.google.com.
google.com. 599 IN MX 20 alt1.aspmx.l.google.com.
google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
google.com. 21599 IN CAA 0 issue "pki.goog"
google.com. 599 IN MX 40 alt3.aspmx.l.google.com.
google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com. 21599 IN NS ns3.google.com.
google.com. 599 IN MX 10 aspmx.l.google.com.
google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all"
google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60
Búsqueda inversa de DNS #
Para consultar el nombre de host asociado con una dirección IP específica, use -x opción.
Por ejemplo, para realizar una búsqueda inversa en 208.118.235.148 escribirías:
dig -x 208.118.235.148 +noall +answer
Como puede ver en la salida debajo de la dirección IP 208.118.235.148 está asociado con el nombre de host wildebeest.gnu.org .
; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer
;; global options: +cmd
148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.
Consultas masivas #
Si desea consultar una gran cantidad de dominios, puede agregarlos en un archivo (un dominio por línea) y usar -f opción seguida del nombre del archivo.
En el siguiente ejemplo, consultamos los dominios enumerados en domains.txt archivo.
lxer.com
linuxtoday.com
tuxmachines.org
dig -f domains.txt +short 108.166.170.171
70.42.23.121
204.68.122.43
El archivo .digrc #
El dig El comportamiento del comando se puede controlar configurando opciones por usuario en el ${HOME}/.digrc archivo.
Si el .digrc está presente en el directorio de inicio del usuario, las opciones especificadas en él se aplican antes de los argumentos de la línea de comando.
Por ejemplo, si desea mostrar solo la sección de respuestas, abra su editor de texto y cree el siguiente ~/.digrc archivo:
+nocmd +noall +answer
Conclusión #
dig es una herramienta de línea de comandos para consultar información de DNS y solucionar problemas relacionados con DNS.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.