If anyone knows how to do this with DHCP3 that would be great, I am open to suggestions on 3rd party apps that will do this. One thing to note, the dhcpd.conf file is generated dynamically using a 3rd party app that does RADIUS, so the host declarations can and will change so I can not simply just look at the file if there is a problem with someone on the network and get their name.

Thanks for the reply. I added that line in the host dec and it did not appear to work (It did not get recorded to the log file). The clients will be running all types of OSes.
–
jinanwowJul 8 '09 at 3:39

I'm not sure what you mean by "host dec". :-( Did you add the send hostname "testpc001"; statement to the /etc/dhcp3/dhclient.conf on the machine with MAC address d0:50:56:ac:74:71? After you make the change, force the machine to renew its IP address lease. Which OS is that machine running? If Linux, which distribution?
–
ConvictJul 8 '09 at 11:33

All of the information you seek is in the leases file, so you could easily write a program to parse out the data and store it somewhere for history. If you're not looking to do this in realtime, you can probably just run it no less often than half your lease time less a bit (as clients are expected to renew their lease at the halfway mark).

I expect that the parsing would be so lightweight that you could just run it frequently without worry. You could also get fancy by running md5sum on the file, storing the output of that somewhere, then checking for changes once a minute and copying the lease file to a directory where a program could analyze it whenever it changed.