Sugiero iniciar dos terminales, una para monitorear y otra para enviar una solicitud. Terminal1 mostrará las respuestas de todos los servidores DHCP existentes, incluida la dirección MAC. Este ejemplo se ejecutó en Ubuntu:
Terminal1 (para monitoreo):
sudo tcpdump -nelt udp puerto 68 | grep -i "boot. * reply"
tcpdump: salida detallada suprimida, use -v o -vv para escuchar decodificación de protocolo completo en enp2s0, tipo de enlace EN10MB (Ethernet), tamaño de captura 262144 bytes 20: a6: 80: f9: 12: 2f> ff: ff: ff: ff: ff: ff, ethertype IPv4 (0x0800), longitud 332: 192.168.1.1.67> 255.255.255.255.68: BOOTP / DHCP, Respuesta, longitud 290 00: 23: cd: c3: 83: 8a> ff: ff : ff: ff: ff: ff, ethertype IPv4 (0x0800), longitud 590: 192.168.1.253.67> 255.255.255.255.68: BOOTP / DHCP, respuesta, longitud 548
Terminal2 (para enviar una solicitud):
sudo nmap --script broadcast-dhcp-discover -e eth0
A partir de Nmap 7.01 ( https://nmap.org ) en 2019-10-13 21:21 EEST Pre-scan script results: | broadcast-dhcp-discover: | Respuesta 1 de 1: | IP ofrecida: 192.168.1.228 | Tipo de mensaje DHCP: DHCPOFFER | Tiempo de arrendamiento de la dirección IP: 2h00m00s | Identificador del servidor: 192.168.1.1 | Máscara de subred: 255.255.255.0 | Enrutador: 192.168.1.1 | _ Servidor de nombres de dominio: 8.8.8.8, 8.8.4.4 ADVERTENCIA: No se especificaron objetivos, por lo que se analizaron 0 hosts. Nmap hecho: 0 direcciones IP (0 hosts arriba) escaneadas en 0.94 segundos
Ese terminal de monitoreo es necesario solo para ver todas las respuestas (nmap solo puede mostrar la primera respuesta).