Comando Linux dig
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:
-
Sección HEADER: muestra la información básica de la consulta.
opcode: código de operación (opcode)status: estado de respuestaid: ID de consultaflags: indicadores (como qr, rd, ra, etc.)
-
Sección QUESTION: muestra la pregunta de la consulta.
- Incluye el dominio consultado y el tipo de registro.
-
Sección ANSWER: resultado de la consulta.
- Contiene la información real de los registros DNS.
-
Sección AUTHORITY: información del servidor de nombres autoritativo.
- Muestra los servidores DNS autoritativos responsables del dominio.
-
Sección ADDITIONAL: información adicional.
- Puede contener información útil adicional.
-
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
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 @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:
- Comprender la sintaxis básica y las opciones comunes del comando dig.
- Consultar varios tipos de registros DNS.
- Interpretar la salida del comando dig.
- Usar dig para resolver problemas reales relacionados con DNS.
- 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
Otras extensiones