Provided by: dhcping_1.2-5_amd64 bug

NAME

       dhcping - send a DHCP request to DHCP server to see if it's up and running

SYNOPSIS

       dhcping [-v] [-q] [-i] [-r] -t maxwait -c client-IP-address -s server-IP-address -h
       client-hardware-address [-g gateway-IP-address]

DESCRIPTION

       This command allows the system administrator to check if a remote DHCP server is still
       functioning.

       Options are:

       -v   Verbose, print some information.

       -V   Very verbose, print a lot of information.

       -i   Use DHCPINFORM packets.

       -r   Use DHCPREQUEST packets (default behaviour).

       -q   Quiet, print nothing on the screen.

       -t maxwait
            Maximum time to wait for an answer from the server in seconds.  Default is 3 seconds.

       -c client-IP-address
            Request this IP address. Note that this is also the IP address the answer will be
            sent to.

       -s server-IP-address
            Send the DHCP packet to this IP address.

       -h client-hardware-address
            Use this hardware-address in the DHCP request. It can be up to sixteen octets
            separated by colons (i.e. 01:02:03:04)

       -g gateway-IP-address
            Use this IP address for the gateway IP address in the DHCP packet.  This option is
            currently broken.

RETURN VALUES

       If everything goes okay, it returns 0. If there went something wrong, it returns 1.

SETUP

       This program should be installed setuid root or ran by root only.  See SECURITY for more
       information.

       On your DHCP server, add these lines to the dhcpd.conf:

         host <your monitoring host FQDN> {
            hardware ethernet <your monitor host mac address>;
            fixed-address     <your monitoring host IP address>;
         }

       Then try it:

       $ dhcping -c your monitoring host IP address \
                 -s your DHCP server IP address \
                 -h your monitor host mac address

       It will either respond with "no answer" or "Got answer from: your DHCP server IP address"

       The DHCP server logfile will give:
        DHCPREQUEST for 192.168.1.1 from 00:20:18:56:29:8f via ed0
        DHCPACK on 192.168.1.1 to 00:20:18:56:29:8f via ed0
        DHCPRELEASE of 192.168.1.1 from 00:20:18:56:29:8f via ed0 (found)

       Running in DHCPINFORM mode with -i:

       If you see "DHCPINFORM from 192.168.1.1 via xl0: not authoritative for subnet
       192.168.1.0", you should add the authoritative statement to the subnet, See dhcpd.conf(5)
       for details.

       When running in very verbose mode, dhcping tries to dump all data of the send and received
       DHCP packets. It will first dump the packet in hex-format, then decodes the header and
       finally the options.

HOW IT WORKS

       The client either sends a DHCPREQUEST or DHCPINFORM packet to the server and waits for an
       answer. Then, if a DHCPREQUEST was send, it will send a DHCPRELEASE back to the server.

SECURITY

       This program is installed setuid root as it requires the privileges to bind itself to port
       68 (bootpc). Root privileges are dropped as soon as the program has bound itself to that
       port.

BUGS

       Currently (this may, or may not, change in the future) the ISC DHCP daemon does not write
       leases with a fixed IP address in the dhcpd.leases file.

       DHCPINFORM packets can only be used on subnets the server is authoritative for.  If the
       monitoring script runs on a subnet the server isn't authoritative for, it should use the
       DHCPREQUEST packets. I also experienced some problems with ISC DHCPD v2 servers, but that
       is also in the README of it.

       The -V option is still working, but shouldn't be used for debugging of the packets. Better
       use dhcpdump(8) for that, which is available on my website. I wanted to remove it, but
       decided only to do it from the documentation, not from the code. Maybe I'll need it one
       day for debugging.

AUTHOR

       Edwin Groothuis, edwin@mavetju.org (http://www.mavetju.org)

SEE ALSO

       dhcpd(8), dhclient(8), dhcpd.conf(5), dhcpdump(8)