07 Networking II
Published Apr 8, 2023
Aprenderás a gestionar DNS, resolver dominios con herramientas como DIG, y configurar manualmente el archivo hosts para tener control sobre las resoluciones de dominio. Perfecto para quienes buscan dominar redes en Linux de manera práctica.
1. ¿Qué es el DNS?
DNS (Domain Name System) es el sistema que traduce nombres de dominio legibles por humanos (como google.com
) en direcciones IP (como 172.217.0.46
). Esto hace que no sea necesario memorizar IPs, permitiendo que naveguemos usando nombres fáciles de recordar.
Funcionamiento básico:
- Escribes un dominio en el navegador.
- El DNS busca la dirección IP asociada.
- Se establece la conexión con el servidor.
2. Comando DIG
dig
es una herramienta poderosa para consultar información DNS de un dominio. Proporciona datos como registros A, MX, NS, TXT, entre otros.
Ejemplo básico:
dig elprogramadorgt.fun
Esto devuelve información básica como:
- IP del dominio (registro A).
- Estado del query.
Consultar registros específicos:
NS (Name Server):
dig elprogramadorgt.fun ns
Devuelve los servidores DNS autoritativos del dominio.
ANY (todos los registros disponibles):
dig elprogramadorgt.fun any
MX (Mail Exchange):
dig google.com mx
Muestra los servidores responsables de gestionar correos del dominio.
TXT:
dig elprogramadorgt.fun txt
Muestra textos asociados al dominio, usados para verificaciones, como SPF o DKIM.
Interpretando la salida de DIG:
- HEADER: Información sobre la consulta, incluyendo el tipo (QUERY, IQUERY).
- FLAGS:
qr
: Indica que es una respuesta.rd
: La consulta fue recursiva.ra
: El servidor DNS soporta recursividad.
- QUERY, ANSWER, AUTHORITY, ADDITIONAL:
QUERY
: Número de consultas realizadas.ANSWER
: Cantidad de respuestas obtenidas.AUTHORITY
: Servidores responsables de la información.ADDITIONAL
: Información adicional, como SOA o claves DNSSEC.
Configurar Servidor DNS Manualmente
El archivo /etc/resolv.conf
contiene los servidores DNS configurados.
Ver contenido:
head /etc/resolv.conf
Cambiar el servidor DNS a Google:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
3. Archivo Hosts
El archivo hosts
mapea nombres de dominio a direcciones IP. Se encuentra en:
/etc/hosts
Formato básico:
IP_ADDRESS DOMAIN_NAME
Ejemplo:
127.0.0.1 localhost
192.168.1.10 myserver.local
Usos comunes:
Redirección local: Puedes redirigir un dominio a una IP específica, como:
127.0.0.1 facebook.com ``` Esto bloquea el acceso al dominio.
Pruebas locales: Durante el desarrollo, puedes mapear un dominio a un servidor en tu red local.
Precauciones:
Modificar el archivo hosts puede ser utilizado para ataques de DNS Spoofing, donde un atacante redirige el tráfico a un servidor malicioso.
4. Entendiendo Registros DNS
- Registro A: Dirección IPv4 de un dominio.
- Registro AAAA: Dirección IPv6 de un dominio.
- Registro MX: Servidores de correo.
- Registro NS: Servidores DNS autoritativos.
- Registro TXT: Información adicional (SPF, verificaciones).
5. DNS Spoofing: Introducción
DNS Spoofing es una técnica donde un atacante manipula las respuestas DNS para redirigir tráfico a un servidor controlado.
Herramientas comunes:
- Ettercap
- Responder
- Bettercap
Demostración básica (con fines educativos):
- Configura el archivo hosts para redirigir tráfico.
- Usa herramientas como Ettercap para interceptar solicitudes DNS.
6. Ejemplo Completo con DIG
Consulta básica:
dig google.com
Registros específicos:
NS:
dig google.com ns
MX:
dig google.com mx
TXT:
dig google.com txt
Cambiar servidor DNS:
sudo echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
Con esta guía tienes una base sólida sobre el uso de DNS y el archivo hosts en Linux. ¡Recuerda practicar y explorar más herramientas! 🚀