Automatically exported from code.google.com/p/dhquery
GPLv2 (see http://web.archive.org/web/20150320155137/http://code.google.com/p/dhquery/)
I needed some DHCP testing tool for my projects, based on FreeRADIUS dhcp code.
dhcping had no DISCOVER packet handling, it couldn't do stress test and didn't allow changing request parameters.
Also, I needed Nagios testing plugin for DHCP cluster testing.
dhquery can send any common packet type, repeat it several times for stress testing or perform cycle testing: DISCOVER, REQUEST and RELEASE.
Also it can work as a Nagios plugin.
Usage: dhquery.py [options]
Options:
-h, --help show this help message and exit
-s SERVER, --server=SERVER
DHCP server IP (default 0.0.0.0)
-p PORT, --port=PORT DHCP server port (default (67)
-m CHADDR, --mac=CHADDR, --chaddr=CHADDR
chaddr: Client's MAC address
-c CIADDR, --ciaddr=CIADDR
ciaddr: Client's desired IP address
-g GIADDR, --giaddr=GIADDR
giaddr: Gateway IP address (if any)
-t MSGTYPE, --type=MSGTYPE
DHCP message type: discover, request, release (default
discover)
-w TIMEOUT, --timeout=TIMEOUT
UDP timeout (default 4)
-r REQUIRED_OPTS, --require=REQUIRED_OPTS
Require options by its number
-y, --cycle Do full cycle: DISCOVERY, REQUEST, RELEASE
-n CYCLES, --cycles=CYCLES
Do number of cycles (default 1)
-v, --verbose Verbose operation
-q, --quiet Quiet operation
--nagios Nagios mode of operation