Comando Linux dig

Linux 命令大全Manual completo de comandos Linux


dig (Domain Information Groper) es una potente herramienta de consulta DNS en el sistema Linux, utilizada para consultar servidores de nombres DNS. En comparación con el tradicional nslookup, dig proporciona resultados de consulta más detallados y opciones de consulta más flexibles.

Características principales del comando dig:

  • Muestra el proceso completo de consulta DNS.
  • Admite consultas de todos los tipos de registros DNS.
  • Puede especificar un servidor DNS concreto para consultar.
  • El formato de salida es claro y legible.

Sintaxis básica del comando dig

dig [@server] [domain] [query-type] [query-class] [query-options]

Descripción de parámetros

Parámetro Descripción
@server Especifica el servidor DNS a consultar (por ejemplo,@8.8.8.8)
domain El dominio a consultar (por ejemplo,example.com)
query-type Tipo de registro a consultar (por ejemplo,A, MX, NSetc.)
query-class La clase de consulta (generalmenteINque representa Internet)
query-options Opciones de consulta adicionales

Tipos de consulta comunes

dig admite consultas de múltiples tipos de registros DNS. A continuación se presentan los tipos de registros comunes:

Tipo de registro Descripción Ejemplo
A Registro de dirección IPv4 dig example.com A
AAAA Registro de dirección IPv6 dig example.com AAAA
MX Registro de intercambio de correo dig example.com MX
NS Registro de servidor de nombres dig example.com NS
CNAME Registro de nombre canónico dig www.example.com CNAME
TXT Registro de texto dig example.com TXT
SOA Registro de inicio de autoridad (SOA) dig example.com SOA
ANY Todos los registros dig example.com ANY

Explicación de la salida del comando dig

Ejecute una consulta dig simple:

dig example.com

La salida típica contiene las siguientes partes:

  1. Sección HEADER: muestra la información básica de la consulta.

    • opcode: código de operación (opcode)
    • status: estado de respuesta
    • id: ID de consulta
    • flags: indicadores (como qr, rd, ra, etc.)
  2. Sección QUESTION: muestra la pregunta de la consulta.

    • Incluye el dominio consultado y el tipo de registro.
  3. Sección ANSWER: resultado de la consulta.

    • Contiene la información real de los registros DNS.
  4. Sección AUTHORITY: información del servidor de nombres autoritativo.

    • Muestra los servidores DNS autoritativos responsables del dominio.
  5. Sección ADDITIONAL: información adicional.

    • Puede contener información útil adicional.
  6. Sección STATISTICS: estadísticas de la consulta.

    • Muestra el tiempo de consulta, el servidor, etc.

Ejemplos prácticos de consulta

1. Consultar un servidor DNS específico

dig @8.8.8.8 example.com

Este comando consulta el registro A de example.com al servidor DNS público de Google (8.8.8.8).

2. Consultar registros MX

dig example.com MX

Consulta la información del servidor de correo del dominio.

3. Consultar el proceso completo de resolución de un dominio

dig +trace example.com

+traceLa opción muestra el proceso de resolución completo comenzando desde el servidor raíz.

4. Modo de salida breve

dig +short example.com

Solo muestra el resultado de la consulta, sin otros detalles.

5. Consulta DNS inversa

dig -x 8.8.8.8

Consulta el dominio correspondiente mediante una dirección IP.

6. Consultar múltiples dominios por lotes

dig -f domains.txt +short

Donde domains.txt contiene la lista de dominios a consultar, uno por línea.


Opciones avanzadas

1. Controlar el formato de salida

dig +noall +answer example.com

+noallOculta todas las secciones,+answersolo muestra la sección ANSWER.

2. Establecer tiempo de espera de consulta

dig +time=5 example.com

Establece el tiempo de espera de la consulta en 5 segundos.

3. Especificar puerto de consulta

dig @dns.server.example.com -p 5353 example.com

Consulta el servidor DNS en un puerto no estándar (5353).

4. Mostrar información TTL

dig +ttlid example.com

Muestra el valor TTL (Time To Live) del registro.

5. Mostrar estadísticas de consulta

dig +stats example.com

Muestra información detallada de estadísticas de consulta.


Preguntas frecuentes

1. ¿Cuál es la diferencia entre dig y nslookup?

dig ofrece una salida más detallada y más opciones de consulta que nslookup, siendo una herramienta de consulta DNS más profesional. nslookup ha sido gradualmente reemplazado por dig.

2. ¿Cómo instalar el comando dig?

En la mayoría de las distribuciones de Linux, dig es parte del paquete bind-utils o dnsutils:

  • Debian/Ubuntu:

    sudo apt install dnsutils
  • CentOS/RHEL:

    sudo yum install bind-utils

3. ¿Por qué mi consulta dig no devuelve la sección ANSWER?

Posibles causas:

  • El tipo de registro consultado no existe.
  • El dominio no existe.
  • El servidor DNS no tiene registros para ese dominio.
  • Problemas de conexión de red.

Puede intentar usar+tracela opción para ver el proceso de resolución completo.


Escenarios de aplicación práctica

1. Diagnosticar problemas de resolución DNS

Cuando un sitio web no está accesible, puede usar dig para comprobar si la resolución DNS es correcta:

dig +trace example.com

2. Verificar la configuración del servidor de correo

Verifique si la configuración del servidor de correo del dominio es correcta:

dig example.com MX

3. Monitorear cambios en registros DNS

Ejecutando consultas dig periódicamente y comparando los resultados, se pueden monitorear los cambios en los registros DNS:

Ejemplo

dig example.com A | grep -v ";" > current.txt
diff current.txt previous.txt

4. Probar el tiempo de respuesta del servidor DNS

Compare la velocidad de respuesta de diferentes servidores DNS:

Ejemplo

time dig @8.8.8.8 example.com
time dig @1.1.1.1 example.com

Resumen

El comando dig es una herramienta de diagnóstico DNS esencial para administradores de sistemas Linux e ingenieros de redes. Con el aprendizaje de este artículo, debería ser capaz de:

  1. Comprender la sintaxis básica y las opciones comunes del comando dig.
  2. Consultar varios tipos de registros DNS.
  3. Interpretar la salida del comando dig.
  4. Usar dig para resolver problemas reales relacionados con DNS.
  5. Dominar los usos avanzados y trucos de dig.

Para conocer más a fondo el comando dig, puede consultar su página de manual:

man dig

O usar la opción de ayuda:

dig -h

Linux 命令大全Manual completo de comandos Linux

Otras extensiones