GNU/Linux >> Tutoriales Linux >  >> Linux

Comando Dig en Linux (búsqueda de DNS)

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:

  1. La primera línea de la salida imprime el dig instalado 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: +cmd

    Si no desea que esas líneas se incluyan en la salida, use +nocmd opción. Esta opción debe ser la primera después de dig comando.

  2. 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 es NOERROR , 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: 5

    Esta sección se puede eliminar usando +nocomments opción, que también deshabilita los encabezados de algunas otras secciones.

  3. La pseudosección "OPT" solo se muestra en las versiones más recientes de dig utilidad. Puede leer más sobre los mecanismos de extensión para DNS (EDNS) aquí.

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096

    Para excluir esta sección de la salida, use +noedns opción.

  4. En la sección "PREGUNTA" dig muestra la consulta (pregunta). De forma predeterminada, dig solicita el registro A.

    ;; QUESTION SECTION:
    ;linux.org.			IN	A

    Puede deshabilitar esta sección usando +noquestion opción.

  5. La sección “RESPUESTA” nos proporciona una respuesta a nuestra pregunta. Como ya mencionamos, por defecto dig solicitará el registro A. Aquí podemos ver que el dominio linux.org apunta al 104.18.59.123 dirección IP.

    ;; ANSWER SECTION:
    linux.org.		300	IN	A	104.18.59.123
    linux.org.		300	IN	A	104.18.58.123

    Por lo general, no desea desactivar la respuesta, pero puede eliminar esta sección de la salida usando +noanswer opción.

  6. 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 +noauthority opción.

  7. 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:3b82

    El +noadditional opción desactiva la sección adicional de una respuesta.

  8. La última sección de la dig la 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: 212

    Puede deshabilitar esta parte con +nostats opció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.

dominios.txt
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:

~/.digrc
+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.


Linux
  1. Cómo usar el comando Dig en Linux

  2. comando linux mv

  3. Linux du comando

  4. Comando IP de Linux

  5. Comando cd de linux

Al mando en Linux

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

Cómo usar el comando Dig en Linux

Explicación del comando Dig en Linux

Comando dig en Linux:una referencia completa para principiantes

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