Reliably detect all DHCP servers on a network?

Yeah I noticed with time nmap with unicast, mine all need about 3.5 seconds to respond.
A very sleek feature especially bc the own host gets reported as well which nmap doesnt do when broadcasting.
Troubleshooting DHCP has gotten allot easier.
Amazing job !

pi@ph5:~ $ pihole-FTL dhcp-discover
Scanning all your interfaces for DHCP servers
Timeout: 10 seconds

* Received 303 bytes from eth0:10.0.0.4
  Offered IP address: 10.0.0.195
  Server IP address: 10.0.0.4
  Relay-agent IP address: N/A
  DHCP options:
   Message type: DHCPOFFER
   Server identification: 10.0.0.4
   Lease time:1d (86400 seconds)
   Renewal time:12h (43200 seconds)
   Rebinding time:21h (75600 seconds)
   Subnet mask: 255.255.255.0
   Broadcast address: 10.0.0.255
   DNS server 1: 10.0.0.4
   Domain name: "dehakkelaar.nl"
   Router 1: 10.0.0.1
   --- end of options ---

* Received 303 bytes from eth0:10.0.0.2
  Offered IP address: 10.0.0.109
  Server IP address: 10.0.0.2
  Relay-agent IP address: N/A
  DHCP options:
   Message type: DHCPOFFER
   Server identification: 10.0.0.2
   Lease time:1d (86400 seconds)
   Renewal time:12h (43200 seconds)
   Rebinding time:21h (75600 seconds)
   Subnet mask: 255.255.255.0
   Broadcast address: 10.0.0.255
   DNS server 1: 10.0.0.2
   Domain name: "dehakkelaar.nl"
   Router 1: 10.0.0.1
   --- end of options ---

* Received 312 bytes from eth0:10.0.0.1
  Offered IP address: 10.0.0.109
  Server IP address: 10.0.0.1
  Relay-agent IP address: N/A
  DHCP options:
   Message type: DHCPOFFER
   Server identification: 10.0.0.1
   Lease time:1d (86400 seconds)
   Renewal time:12h (43200 seconds)
   Rebinding time:21h (75600 seconds)
   Subnet mask: 255.255.255.0
   Broadcast address: 10.0.0.255
   DNS server 1: 10.0.0.1
   WPAD server: "
"
   NetBIOS name server 1: 10.0.0.1
   Domain name: "dehakkelaar.nl"
   Router 1: 10.0.0.1
   --- end of options ---

Ps. those 44 & 252 options are coming from the Asus router which I dont use ... who needs NETBIOS :wink:

EDIT: maybe reporting the IP three times is a bit redundant:

* Received 303 bytes from eth0:10.0.0.2
  Server IP address: 10.0.0.2
  Server identification: 10.0.0.2

Maybe drop the second line ?