Sugeruję uruchomienie dwóch terminali, jednego do monitorowania, a drugiego do wysyłania zapytania. Terminal1 wyświetli odpowiedzi ze wszystkich istniejących serwerów DHCP, w tym adres MAC. Ten przykład został uruchomiony na Ubuntu:
Terminal 1 (do monitorowania):
sudo tcpdump -nelt udp port 68 | grep -i „boot. * odpowiedz”
tcpdump: tłumienie pełnego wyjścia, użyj -v lub -vv do pełnego dekodowania protokołu nasłuchiwania na enp2s0, typ łącza EN10MB (Ethernet), przechwytywanie rozmiaru 262144 bajtów 20: a6: 80: f9: 12: 2f> ff: ff: ff: ff: ff: ff, typ Ethernet IPv4 (0x0800), długość 332: 192.168.1.1.67> 255.255.255.255.68: BOOTP / DHCP, odpowiedź, długość 290 00: 23: cd: c3: 83: 8a> ff: ff : ff: ff: ff: ff, typ IPv4 (0x0800), długość 590: 192.168.1.253.67> 255.255.255.255.68: BOOTP / DHCP, odpowiedź, długość 548
Terminal2 (do wysyłania zapytania):
sudo nmap --script broadcast-dhcp-discover -e eth0
Począwszy od Nmap 7.01 ( https://nmap.org ) o 13.10.2019 21:21 EEST Wyniki skanu przed skanowaniem: | broadcast-dhcp-discover: | Odpowiedź 1 z 1: | Oferowane IP: 192.168.1.228 | Typ komunikatu DHCP: DHCPOFFER | Czas dzierżawy adresu IP: 2h00m00s | Identyfikator serwera: 192.168.1.1 | Maska podsieci: 255.255.255.0 | Router: 192.168.1.1 | _ Serwer nazw domen: 8.8.8.8, 8.8.4.4 OSTRZEŻENIE: Nie określono żadnych obiektów docelowych, dlatego skanowano 0 hostów. Nmap zrobione: 0 adresów IP (0 hostów w górę) skanowanych w 0,94 sekundy
Ten terminal monitorujący jest potrzebny, aby zobaczyć wszystkie odpowiedzi (nmap jest w stanie pokazać tylko pierwszą odpowiedź).