Androide

Comando de excavación en Linux (dns lookup)

HACKLOG 1x12 - Guida ad I2P, alternativa di TOR

HACKLOG 1x12 - Guida ad I2P, alternativa di TOR

Tabla de contenido:

Anonim

Dig (Domain Information Groper) es una poderosa herramienta de línea de comandos para consultar servidores de nombres DNS.

Con el comando dig , puede consultar información sobre varios registros DNS, incluidas las direcciones de host, los intercambios de correo y los 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.

En este tutorial, le mostraremos cómo usar la utilidad de dig través de ejemplos prácticos y explicaciones detalladas de las opciones de dig más comunes.

Instalación de dig

Para verificar si el comando de dig 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". Puede instalar fácilmente la herramienta de dig utilizando el administrador de paquetes de su 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 salida de excavación

En su forma más simple, cuando se usa para consultar un solo host (dominio) sin ningún argumento adicional, el comando de excavación es bastante detallado.

En el siguiente ejemplo, realizaremos una consulta para recuperar información sobre el dominio linux.org .

dig linux.org

La salida debería verse así:

Vayamos sección por sección y expliquemos el resultado del comando de dig :

  1. La primera línea de la salida imprime la versión de excavación instalada y la consulta que se invocó. La segunda línea muestra las opciones globales (por defecto, solo cmd).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    La primera sección incluye detalles técnicos sobre la respuesta recibida de la autoridad requerida (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 atendió 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 con la opción +nocomments , que también deshabilita los encabezados de otras secciones.

    La pseudo sección "OPT" se muestra por defecto solo en las versiones más nuevas de la utilidad de excavación. Puede conocer los mecanismos de extensión para DNS (EDNS) aquí.

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

    En la sección "PREGUNTA" dig muestra nuestra consulta (pregunta). Por defecto, dig solicita el registro A.

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

    Puede deshabilitar esta sección utilizando la opción +noquestion .

    La sección "RESPUESTA" nos proporciona una respuesta a nuestra pregunta. Como ya mencionamos, por defecto dig solicitará el registro A. Aquí, el dominio linux.org apunta a la dirección IP 104.18.59.123 .

    ;; 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 utilizando la opción +noanswer .

    La sección "AUTORIDAD" nos dice qué servidores son la autoridad para responder consultas 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 utilizando la opción +noauthority .

    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

    La opción +noadditional deshabilita la sección adicional de una respuesta.

    La última sección de la salida de excavación 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 la opción +nostats .

Imprimir solo la respuesta

En la mayoría de los casos, desearía obtener solo una respuesta rápida a su consulta de excavación.

1. Obtenga una respuesta corta

Para obtener una respuesta breve a su consulta, use la opción +short :

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 las opciones +noall y luego active solo la sección de respuestas con la opción +answer .

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

Consultar servidor de nombres específico

Por defecto, si no se especifica un servidor de nombres, dig usa los servidores listados en el archivo /etc/resolv.conf .

Para especificar un servidor de nombres en el que se ejecutará la consulta, use el símbolo @ (at) seguido de la dirección IP o 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 el dominio linux.org 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 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. Consultar registros A

Para obtener una lista de todas las direcciones para un nombre de dominio, use la opción a:

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 la opción a.

2. Consulta de registros CNAME

Para encontrar el nombre de dominio de alias, use la opción cname :

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. Consulta de registros TXT

Use la opción txt para recuperar todos los registros TXT para 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. Consulta de registros MX

Para obtener una lista de todos los servidores de correo para un dominio específico, use la opción mx :

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. Consulta de registros NS

Para encontrar los servidores de nombres autorizados para nuestro dominio específico, use la opción ns :

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

Use la opción any 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 la opción -x .

Por ejemplo, para realizar una búsqueda inversa en 208.118.235.148 usaría:

dig -x 208.118.235.148 +noall +answer

Como puede ver en el resultado a continuación, la dirección IP 208.118.235.148 está asociada 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

En el siguiente ejemplo, estamos consultando los dominios enumerados en el archivo domains.txt .

domains.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 comportamiento del comando dig puede controlarse configurando las opciones por usuario en el archivo ${HOME}/.digrc .

Si el archivo .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 comandos.

Por ejemplo, si desea mostrar solo la sección de respuestas, abra su editor de texto y cree el siguiente archivo ~/.digrc :

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

terminal de excavación