Cómo usar el comando Dig en Linux

Dig (Domain Information Groper) es una herramienta de línea de comandos de Linux que realiza búsquedas en los registros DNS, a través de los nombres de servidores, y te muestra el resultado.

De forma predeterminada, dig envía la consulta DNS a todos los nombres de servidores listados en el archivo resolver (/etc/resolv.conf), a menos de que se le pida que realice la consulta con un nombre de servidor específico.

En este tutorial encontrarás todos los usos básicos del comando Dig que debes conocer y que pueden ser aplicados en el sistema operativo Linux.

Instalar Dig en Linux

Dig forma parte del paquete de herramientas DNS, que a menudo se instala con nombre de servidor BIND. También puedes instalar por separado el paquete de herramientas que contiene dig, accediendo a tu VPS a través de SSH y escribiendo los siguientes comandos en la línea de comandos:

Debian y Ubuntu:

apt-get install dnsutils

CentOS 7:

yum install bind-utils

Una vez instalada la herramienta, verifica la versión, para asegurarte de que la configuración se completó correctamente:

dig -v

Sintaxis del comando Dig

En su forma más simple, la sintaxis del comando Dig se verá así:

dig [servidor] [nombre] [tipo]

[servidor]: la dirección IP o el hostname del nombre del servidor a consultar.

Si el argumento del servidor es el hostname, dig resuelve el hostname antes de continuar con la consulta.

Esto es opcional y si no proporcionas un argumento de servidor, dig utiliza los nombres de servidores que figuran en /etc/resolv.conf.

[nombre]: el nombre del registro de recursos que se debe buscar.

[tipo]: el tipo de consulta solicitada por dig. Por ejemplo, puede ser un registro A, un registro MX, un registro SOA o cualquier otro tipo. De forma predeterminada, dig realiza una búsqueda de un registro A si no se especifica ningún argumento de tipo.

Cómo usar el comando dig

Veamos los usos básicos del comando:

Consultar un nombre de dominio

Para realizar una búsqueda de DNS para un nombre de dominio, simplemente escribe dicho dominio junto al comando dig:

dig hostinger.com

Por defecto, el comando dig mostrará el registro A cuando no se especifiquen otras opciones. Además, la salida contendrá más información, como la versión de dig instalada, detalles técnicos sobre las respuestas, estadísticas sobre la consulta, una sección de preguntas, entre otros.

Ver respuestas cortas

El comando dig incluye una gran cantidad de información útil en diferentes secciones, pero puede haber ocasiones en las que desees solo el resultado  en sí de la consulta. En estos casos puedes utilizar la opción +short, que mostrará solo la dirección IP (registro A) del nombre de dominio:

dig hostinger.com +short

Ver respuestas detalladas

Si deseas ver específicamente la sección de respuestas a detalle puedes dejar de mostrar toda la sección con la opción +noall y ver solo la sección de respuestas con la opción +answer, todo esto junto al comando dig.

dig hostinger.com +noall +answer

Especificar servidores de nombres

Por defecto, el comando dig consultará los servidores de nombres listados en /etc/resolv.conf para realizar la búsqueda de DNS que le solicites. Puedes cambiar esta configuración predeterminada utilizando el símbolo @ seguido del hostname o la dirección IP del servidor.

El comando dig que te mostramos a continuación envía la consulta DNS al nombre de servidor de Google (8.8.8.8) mediante la opción @8.8.8.8.

dig @8.8.8.8 hostinger.com

Consultar todos los registros DNS

Para consultar todos los tipos de registros DNS disponibles asociados con un dominio, usa la opción ANY. Esta opción incluirá en los resultados todos los tipos de registros disponibles:

dig hostinger.com ANY

Buscar por tipo de registro

Si deseas buscar un registro específico, simplemente agrega el tipo de registro al final del comando.

Por ejemplo, para consultar y obtener solo el intercambio de correo (MX) en la sección de respuesta asociada a un dominio, puedes usar el siguiente comando de dig:

dig hostinger.in MX

De manera similar, para ver los otros registros asociados a un dominio, especifica el tipo de registro al final del comando dig:

dig hostinger.com txt (Consulta el registro TXT)
dig hostinger.com cname (Consulta el registro CNAME)
dig hostinger.com ns (Consulta el registro NS)
dig hostinger.com A (Consulta el registro A)

Trazar ruta (path) de DNS

Dig permite rastrear la ruta de búsqueda DNS utilizando la opción +trace. Esta opción realiza consultas iterativas para resolver la búsqueda de nombres. Consultará los nombres de servidores a partir de la raíz y posteriormente atravesará el árbol del espacio de nombres mediante consultas iterativas siguiendo las referencias en el camino:

dig hostinger.com +trace

Búsqueda inversa de DNS

La búsqueda inversa de DNS te permite buscar el dominio y el nombre de host asociados a una dirección IP. Para realizar una búsqueda inversa de DNS con el comando dig utiliza la opción –x seguida de la dirección IP correspondiente. En el siguiente ejemplo, dig realizará una búsqueda inversa de DNS de la dirección IP asociada a google.com:

dig +answer -x 172.217.166.46

Recuerda que si un registro PTR no está definido para una dirección IP, entonces no es posible hacer una búsqueda inversa de DNS, ya que el registro PTR es el que apunta directamente al dominio o nombre de host.

Consultas por lotes

Con la herramienta dig, puedes realizar una búsqueda de DNS para una lista de dominios en lugar de hacer lo mismo para cada uno individualmente. Para esto, debes proporcionar al comando una lista de nombres de dominio, uno por línea, en un archivo. Una vez que el archivo esté listo, especifica el nombre con la opción -f:

vi nombre_dominio.txt
hostinger.com
google.com
ubuntu.com
dig -f nombre_dominio.txt +short

Control de comportamiento de Dig

El resultado arrojado por el comando se puede personalizar permanentemente configurando las opciones en el archivo ~/.digrc que se ejecuta automáticamente con el comando.

Supongamos que solo deseas ver la sección de respuestas, para esto debes especificar las opciones requeridas en el archivo ~/.digrc, para que no tengas que escribirlas mientras ejecutas la consulta.

echo "+noall +answer" > ~/.digrc

Ahora podrás realizar una búsqueda del servidor DNS para un dominio. El resultado te confirmará que dig se ejecuta con las opciones establecidas en el archivo ~/.digrc.

Conclusión

Esto es todo lo básico que necesitas para comenzar a usar el comando Dig en Linux. Ahora puedes realizar búsquedas en registros DNS utilizando varias opciones. Si quieres aprender más, consulta la página del manual del comando escribiendo man dig en la línea de comandos, esto te ayudará a descubrir todos los usos y opciones posibles.

Author
El autor

Deyimar A.

Deyi es una entusiasta del marketing digital, con experiencia en diseño de páginas web, creación de contenido, copywrite y SEO. Forma parte del equipo de SEO & Localization de Hostinger. En su tiempo libre, le gusta desarrollar proyectos, leer un libro o ver una buena película.