Los Teatinos

Consultoría y Formación

Manual Dig

Dig es una herramienta principalmente de linux, utilizada para el envio de ordenes DNS, y para detectar que webs estan en un server (utilizado para mass defacement). Es útil para verificar y mantener nuestros servidores DNS.

Conviene recordar que los Servidores DNS, escuchan por los puertos 53 TCP/UDP.

Mass Defacement es un término usado en informática para hacer referencia a un cambio producido de manera intencionada en una página web por un atacante que haya obtenido algún tipo de acceso a ella, bien por algún error de programación de la página, por algún bug en el propio servidor o por una mala administración de este. El autor de un defacement se denomina defacer.

Instalar dig

Si por defecto nuestro S.O. no viene con dig hay que instalarlo.

LosTeatinos ~ # apt-get install dnsutils

 

Sintaxis:

$ dig [@servidor_dns] <nombre> [opciones] [tipo]

 

[@servidor_dns]: nombre o IP del servidor DNS al que queremos dirigir nuestra consulta, por ejemplo @dns1.nrc.ca. Si no especificamos este parámetro, utilizará los servidores DNS listados en /etc/resolv.conf

<nombre>: nombre de dominio cuya IP queremos resolver

[tipo]: tipo de consulta. Valores posibles:

     A: IP del servidor que aloja al dominio (por defecto).

     NS: servidores DNS.

     MX: servidores de correo.

     ANY: todas las anteriores.

     AAAA: IP en IPv6 (si tiene).

El primer comando que es de los que más destaca de los que utilizaremos es el siguiente:

LosTeatinos ~ # dig google.com

 
El comando Dig lo primero que hace es leer el fichero /etc/resolv.conf y le hace una consulta al servidor DNS de la lista. La respuesta del servidor DNS es la que muestra el dig.
 
Ahora vamos a intentar entender la salida del comando:
  1. Las lineas que comienzan por ; son comentarios, no son parte de la información.
  2. La primera línea muestra la vesión de dig, en este caso (9.8.1).
  3. Después, dig muestra la cabecera de la respuesta recibida por parte del servidor DNS
  4. Después viene question section, la cual simplemente muestra la consulta, que es este caso es una consulta para “A” de google.com. IN significa que es un Internet lookup .
  5. La answer section muestra que google.com tiene la dirección IP address 173.194.41.X,  donde X quiere decir las diferentes IP's de los servidores de google.
  6. Por último se muestran algunos datos de estado sobre la consulta. Los cuales se pueden omitir usando la opción +nostats.

LosTeatinos ~ # dig ns

Este comando nos devolvera una lista de los servidores DNS raiz, que podremos utilizar para trabajar.

 

LosTeatinos ~ # dig google.com NS

Esto nos devuelve la lista de los servidores DNS de un determinado dominio, en este caso google.com

 

LosTeatinos ~ # dig google.com MX

Lista los Servidores de Correo de un determinado dominio.

 

LosTeatinos ~ # dig google.com ns1.google.com

Consultar datos de un Dominio en determinado servidor DNS.

En este caso consulta al servidor DNS de google.com por el dominio ns1.google.com

 

LosTeatinos ~ # dig -x google.com

DNS Inverso, es decir, reverse look-up. 

 

LosTeatinos ~ # dig -x 8.8.4.4

Vuelve a realizar un DNS inverso. Obtiene el nombre asociado del servidor de nombres b de google.

 

LosTeatinos ~ #dig google.com AAAA

Número de IP en IPv6, se reconoce por la cuatro AAAA.

 

LosTeatinos ~ # dig google.com ANY

Otra función que también les recomiendo es la de ANY, la cual nos devuelve los servidores de correo, DNS, y varios datos más.

 

LosTeatinos ~ # dig 8.8.8.8 losteatinos.es ANY

Consulta al seervidor 8.8.8.8, es decir, el servidor DNS a de google, por todos los registros de recursos del dominio losteatinos.es

 

LosTeatinos ~ # dig google.com SOA

Mail del responsable y otros datos del DNS.

Aquí el correo sería: Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla. (cambiando el "." por @), el DNS primario sería: ns1.google.com, y su última actualización fue: 2013/12/13, el TTL (Time to a live) es de 300, el tiempo de espera para actualización de los DNS's secundarios (con respecto al primario) es de: 7200, el tiempo de reintento (cuando hay error al conectar con DNS primario) es de: 1800, y el tiempo de caducidad (el tiempo que el servidor mantendrá en caché los datos sin actualizar en caso de error de actualización) es de: 1209600

Los datos están expresados en milisegundos.

 

LosTeatinos ~ # dig 8.8.8.8 www.losteatinos.es +trace

Con este comando se le envía una consulta recursiva al servidor DNS 8.8.8.8 preguntando por el nombre losteatinos.es, y se le indica con la opción +trace que muestre el rastro de todo el proceso de resolución.

Observa que se pregunta en primer lugar a un servidor raiz, posteriormente a un servidor autorizado para el dominio .es y por último al servidor autorizado para losteatinos.es

 

Otras funciones útiles:

+nocmd 
+nocomments
+noquestion
+noanswer
+noauthority
+noadditional
+nostats
+noall

 

Sería también muy interesante que le hecháseis un vistazo a un comando muy similar a dig llamado nslookup. Posee también un modo interactivo.

      nslookup www.google.es   --> Probad a ver que os parece.

Otro comando interesante es host.

     host www.google.es   --> Probad a ver que os parece.

 

NOTA: entre nslookup, host y dig, me quedo con dig, puesto que proporciona una información más amplia dado que proporciona toda la información del protocolo DNS en cuanto a un mensaje DNS:

HEADER
QUESTION
ANSWER
AUTHORITY
ADDITIONAL

Pero si no disponemos de un PC con Linux, no queda más remedio que usar nslookup, que después de dig es el mejor, desde mi punto de vista.

 

 

Escribir un comentario

Código de seguridad
Refescar