ISC dhcpd lease analysis and reporting

This is dhcpd-pools ISC dhcp shared network and pool range usage analysis. Purpose of command is to count usage ratio of each IP range and shared network pool which ISC dhcpd is in control of. Users of the command are most likely ISPs and other organizations that have large IP space.

Program is written C. Design goal is to get analysis done quickly where there is lots of data. On cheap laptop the speed of analysis is more than 100k leases per second. Number of ranges, or shared networks, does not make any significant difference in getting analysis done.

prompt> ./dhcpd-pools -c /etc/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -o ./sampleoutput.txt
prompt> cat ./sampleoutput.txt

Where I can get dhcpd-pools?

Download release package or clone from git. Build instructions are in README file.

git clone git:// dhcpd-pools

See also SourceForge project page.


The dhcpd-pools manual page, and Doxygen software reference documentation are available online.

Getting the output you need

  1. Start with:
    dhcpd-pools --config=path --leases=path --color=always --format=text
  2. Play with options and see how output changes. Options to try:
    --all-as-shared --crit-count --critical --minsize --snet-alarms --warn-count --warning
  3. Start filtering output. Options to try:
    --skip --limit
  4. Change --format option to what you need, and maybe include --perfdata if you want nagios alarm format.
  5. Done.

Reference information

The program was written because DHCPStatus, DHCP Usage Statistics,, lease_analyzer and dhcpd-snmp where too slow to handle huge number of leases. There is also difference in printed details. The dhcpd-pools does not print quite as much information as some other tools.

Notice that this utility is not the same as dhcpd-pool that is maintained by Trond Hasle Amundsen.

Just for laugh, obsolete awk proof of concept (version 1.4) dhcpd-pools.awk

Where to send questions, bug reports, code contributions...

Sami Kerola <>

Wed Nov 15 12:47:30 GMT 2017 3.0 FreeBSD License
5 ( 2 ratings )