El comando dig en Ubuntu
Según su propia información de ayuda, dig (domain information groper) es una herramienta flexible que nos permite realizar consultas a servidores de nombre de dominio (DNS). Podemos utilizarlo para realizar consultas a servidores DNS y analizar sus resultados.
Hoy veremos algunas de las alternativas que nos ofrece…
Usando básico de dig
Un uso básico del comando dig puede consistir en usarlo seguido de una URL. Por ejemplo:
dig somebooks.es
Analicemos la salida que nos ofrece:
-
Al principio obtenemos algo de información sobre el propio comando: su versión (en nuestro caso la 9.10.3-P4 sobre Ubuntu). Además, nos informa de que se ha aplicado +cmd como opción global para lograr, precisamente, que se muestre este comentario inicial.
-
A continuación, nos ofrece algunos datos sobre la respuesta obtenida del servidor DNS.
Vemos que la operación ha sido una consulta, su identificador y que no ha ofrecido errores. Además, nos informa de los flags que se han aplicado: qr (query response), rd (recursion desired) y ra (recursion available). También de que se incluye una respuesta (la línea que veremos después en la sección ANSWER), que no contiene información de autoridad y que contiene una pieza de información adicional
-
Después, la seudo-sección OPT contiene la versión del estándar EDNS aplicado y el tamaño de los paquetes UDP.
-
La sección QUESTION identifica el destino de la consulta. Además, podemos comprobar la clase IN (Internet) y el tipo de registro (A identifica un nombre de dominio para una dirección IPv4).
-
La sección ANSWER nos informa principalmente de que somebooks.es tiene la dirección IP 217.160.230.123. El valor 3537 sólo indica el tiempo, en segundos, que puede almacenarse el registro en la caché.
-
Por último, obtenemos alguna información estadística, como el tiempo de respuesta, la fecha, la hora, etc.
Sin embargo, si lo que pretendíamos era conocer la dirección IP pública de somebooks.es, quizás nos habría bastado con escribir esto:
dig somebooks.es +short
Como habrás deducido, el argumento +short le dice al comando dig que queremos la versión breve de la salida… Y nos hace caso.
Otras cosas que podemos averiguar
Con dig podemos realizar diferentes tipos de consulta. Por ejemplo, en el caso anterior, para averiguar la dirección IP, deberíamos haber indicado el tipo A:
dig somebooks.es A +short
Sin embargo, A es la opción predeterminada y pudimos omitirla.
No obstante, si lo que hubiésemos buscado fuera la lista de los servidores de correo de somebooks.es, deberíamos haber realizado una consulta del tipo MX (mail exchanges):
dig somebooks.es MX +noall +answer
En este caso, hemos utilizado los argumentos +noall y +answer. El primero deshabilita todos los indicadores (flags) de visualización y el segundo hace que se muestre la sección de respuestas (ANSWER SECTION) de la consulta.
Así, hemos simplificado la salida, pero nos hemos quedado con lo importante.
Si lo que necesitamos es obtener una lista de los servidores DNS autorizados en el dominio, usaríamos NS como tipo de consulta:
dig somebooks.es NS +noall +answer
Incluso podemos utilizar la opción ANY para solicitar todos los tipos de registro comentados antes:
dig somebooks.es ANY +noall +answer
También disponemos de la opción +trace, que nos permite comprobar el camino que sigue la resolución del dominio desde el servidor de nombres raíz. Sin embargo, si la resolución de DNS configurada en el equipo es un servidor independiente, ésta puede fallar. Es lo que nos ocurre al escribir lo siguiente:
dig +trace somebooks.es
La solución pasa por especificar un servidor DNS raíz para la consulta inicial:
dig +trace somebooks.es @8.8.8.8
Para consultar todos los parámetros y opciones del comando dig, puedes recurrir a su ayuda escribiendo el siguiente comando:
man dig
Y si no te encuentras en un sistema GNU/Linux, o no tienes instalada la ayuda, también puedes recurrir a alguna de las páginas de Internet que la ofrecen. Por ejemplo, https://linux.die.net/man/1/dig.
Y hasta aquí el artículo de hoy. Espero que te resulte útil.