1
#!/usr/bin/env python2.7
2
# Copyright 2013-2015 Canonical Ltd. This software is licensed under the
3
# GNU Affero General Public License version 3 (see the file LICENSE).
5
"""Probe network on given network interface for a DHCP server.
7
This needs to be run as root, in order to be allowed to broadcast on the
10
Exit code is zero ("success") if no servers were detected, or the number of
11
DHCP servers that were found.
17
from provisioningserver.dhcp.detect import probe_dhcp
20
argument_parser = argparse.ArgumentParser(description=__doc__)
24
argument_parser.add_argument(
26
help="Probe network on this network interface.")
28
args = argument_parser.parse_args()
30
servers = probe_dhcp(args.interface)
32
num_servers = len(servers)
34
print("No DHCP servers detected.")
37
print("DHCP servers detected: %s" % ', '.join(sorted(servers)))
40
if __name__ == "__main__":