En este post veremos como buscar servidores DHCP en la red tanto en sistemas operativos Windows como Linux.
El protocolo DHCP (Dynamic Host Configuration Protocol) permite la asignación dinámica de direccionamiento IP.
Buscar servidores DHCP en la red: Puertos
DHCP usa los siguientes puertos:
67/UDP -> Servidor
68/UDP -> Cliente
Buscar servidores DHCP en la red : Funcionamiento básico DHCP
El funcionamiento general de DHCP es el siguiente:
1. DHCP DISCOVER (De cliente a servidor)
El cliente DHCP solicita configuración TCP/IP utilizando DHCP DISCOVER. Aquí se produce broadcast.
2. DHCP OFFER (De servidor a cliente)
El servidor DHCP ofrece la configuración TCP/IP utilizando DHCPOFFER.
Si ningún servidor DHCP da respuesta al cliente, el cliente configurará: APIPA (Automatic Private IP addressing):
Windows: IP 169.254 APIPA (SYSADMIT.com)
3. DHCP REQUEST (De cliente a servidor)
Todos los clientes reciben el DHCPOFFER del servidor DHCP.
El cliente que envió el DHCPDISCOVER acepta el DHCPOFFER , por tanto acepta la configuración TCP/IP que le ofrece el servidor DHCP.
Si hay un servidor DHCP que da respuesta al cliente
4. DHCP ACK (De servidor a cliente)
Cuando el servidor DHCP recibe el DHCPREQUEST del cliente, el servidor DHCP envia al cliente el DHCP ACK (DHCP Acknowledgment).
Buscar servidores DHCP en la red: ¿Cómo los encontramos?
Desde el lado cliente, cuando mostramos la configuración TCP/IP, podemos ver la dirección IP del servidor DHCP.
El problema es: ¿Qué ocurre cuando hay mas de un servidor DHCP en la red? ¿Cómo podemos obtener una lista de los servidores DHCP?
Podemos utilizar nmap.
nmap es una herramienta gratuita que funciona tanto en sistemas operativos Windows o Linux.
nmap nos permite escanear puertos pero además permite ejecutar scripts sobre los resultados obtenidos.
Los scripts de nmap se llaman: Nmap Scripting Engine (NSE) y tienen como extensión de fichero: .nse
Cuando instalamos nmap en un equipo, ya nos instala un directorio con scripts.
Ejemplo directorio de scripts nmap en Windows:
Ejemplo directorio de scripts nmap en Linux:
El script de nmap que utilizaremos es el: dhcp-discover
dhcp-discover envía una solicitud DHCPINFORM a un host en el puerto UDP 67 para obtener todos los parámetros de configuración local sin realizar la asignación de una nueva dirección IP.
Para buscar servidores DHCP en la red, ejecutaremos lo siguiente:
nmap -sU -p 67 --script=dhcp-discover XX.XX.XX.XX/YY
Teniendo en cuenta que debemos substituir:
XX.XX.XX.XX: IP de la red
YY: Mascara de la red en formato CIDR (Classless Inter-Domain Routing)
Para mas información del formato CIDR, disponemos del siguiente enlace:
TCPIP: CIDR máscara IPv4 (SYSADMIT.com)
Ejemplo de nmap para la red: 192.168.150.0 / 255.255.255.0
nmap -sU -p 67 --script=dhcp-discover 192.168.150.0/24
Información extra sobre nmap:
- Podemos utilizar el script dhcp-discover y también tenemos disponible el script: broadcast-dhcp-discover
- También tenemos disponible el parámetro: -v (verbose) para mostrar mas información.
No sabia que nmap tenia un script para esto, gracias por el articulo, esta exelente
ResponderEliminar