Sugiro iniciar dois terminais, um para monitoramento e outro para enviar uma solicitação. O Terminal1 mostrará respostas de todos os servidores DHCP existentes, incluindo o endereço MAC. Este exemplo foi executado no Ubuntu:
Terminal1 (para monitoramento):
porta 68 do udp do sudo tcpdump -nelt | grep -i "inicialização. * resposta"
tcpdump: saída detalhada suprimida, use -v ou -vv para ouvir decodificação de protocolo completo no enp2s0, EN10MB do tipo de link (Ethernet), tamanho da captura 262144 bytes 20: a6: 80: f9: 12: 2f> ff: ff: ff: ff: ff, ethertype IPv4 (0x0800), comprimento 332: 192.168.1.1.67> 255.255.255.255.68: BOOTP / DHCP, resposta, comprimento 290 00: 23: cd: c3: 83: 8a> ff: ff : ff: ff: ff: ff, ethertype IPv4 (0x0800), comprimento 590: 192.168.1.253.67> 255.255.255.255.68: BOOTP / DHCP, resposta, comprimento 548
Terminal2 (para enviar uma solicitação):
sudo nmap --script broadcast-dhcp-discover -e eth0
Iniciando o Nmap 7.01 ( https://nmap.org ) em 13/10/2019 21:21 Resultados do script de pré-verificação EEST: | broadcast-dhcp-discover: | Resposta 1 de 1: | IP oferecido: 192.168.1.228 | Tipo de mensagem DHCP: DHCPOFFER | Horário de concessão do endereço IP: 2h00m00s | Identificador do servidor: 192.168.1.1 | Máscara de sub-rede: 255.255.255.0 | Roteador: 192.168.1.1 | _ Servidor de Nomes de Domínio: 8.8.8.8, 8.8.4.4 AVISO: Nenhum destino foi especificado, portanto, 0 hosts foram verificados. Nmap concluído: 0 endereços IP (0 hosts ativos) digitalizados em 0,94 segundos
Esse terminal de monitoramento é necessário apenas para ver todas as respostas (o nmap pode mostrar apenas a primeira resposta).