While debugging some PXE boot problems a few weeks back, I needed to see who DHCP leases were being issued to. Since the box was running Solaris 9, I was able to take advantage of the Sun DHCP server’s “-d” (debug) and “-v” (verbose) options:
$ /usr/lib/inet/in.dhcpd -d -v -i ge0 -b manual
42a07602: Daemon Version: 3.5
42a07602: Maximum relay hops: 4
42a07602: Run mode is: DHCP Server Mode.
42a07602: Datastore resource: SUNWfiles
42a07602: Location: /var/dhcp
42a07602: DHCP offer TTL: 10
42a07602: BOOTP compatibility enabled.
42a07602: ICMP validation timeout: 1000 milliseconds, Attempts: 1.
42a07602: Maximum concurrent clients: 1024
42a07602: Maximum threads: 256
42a07602: Read 4 entries from DHCP macro database on Fri Jun 3 11:23:46 2005
42a07602: Monitor (0003/ge0) started...
42a07602: Thread Id: 0003 - Monitoring Interface: ge0
42a07602: MTU: 1500 Type: SOCKET
42a07602: Broadcast: 10.10.10.255
42a07602: Netmask: 255.255.255.0
42a07602: Address: 10.10.10.122
42a07632: Datagram received on network device: ge0(limited broadcast)
42a07632: (Error 0) No more IP addresses on 10.10.10.0 network
42a07637: Datagram received on network device: ge0(limited broadcast)
42a07637: (Error 0) No more IP addresses on 10.10.10.0 network
42a0763f: Datagram received on network device: ge0(limited broadcast)
42a0763f: (Error 0) No more IP addresses on 10.10.10.0 network
42a0764f: Datagram received on network device: ge0(limited broadcast)
42a0764f: (Error 0) No more IP addresses on 10.10.10.0 network
42a07663: Datagram received on network device: ge0(limited broadcast)
42a07664: Sending datagram to broadcast address.
42a07664: (Added offer: 10.10.10.112
42a0766b: Datagram received on network device: ge0(limited broadcast)
42a0766b: Client: 01000D609C8889 maps to IP: 10.10.10.112
42a0766b: Sending datagram to broadcast address.
42a0766e: Datagram received on network device: ge0(limited broadcast)
42a0766e: Unicasting datagram to 10.10.10.112 address.
42a0766e: Adding ARP entry: 10.10.10.112 == 000D609C8889
42a0766e: Updated offer: 10.10.10.112
42a0766e: Datagram received on network device: ge0(limited broadcast)
42a0766e: Reserved offer: 10.10.10.112
42a0766e: Database write unnecessary for DHCP client: 01000D609C8889, 10.10.10.112
42a0766e: Client: 01000D609C8889 maps to IP: 10.10.10.112
42a0766e: Unicasting datagram to 10.10.10.112 address.
42a0766e: Adding ARP entry: 10.10.10.112 == 000D609C8889
The debug option will place the DHCP server into the foreground, causing the server to print a slew of information to the terminal screen. The debug options helped me solve my problem, and assisted with identifying several devices that shouldn’t be using DHCP.