Skip to main content
DHClientList
============

DHClientList is a tool to get the current client list of a DHCP server. With it one can check who is connected to the local network. To do this one must provide the DHCP server address (IP in local network and port), username and password. The resulting list items contains the host name, MAC address, IP and lease time.

## Installation ##
pip install dhclientlist

**Note:** The pyOpenSSL==0.13 library is required to enable the HTTPS server mode.

## Usage ##

### Command-line: ###

usage: dhclientlist print [-h] [-d DRIVERNAME] [-a ADDRESS] [-u USERNAME]
[-p PASSWORD] [-f {json,texttable}]

optional arguments:
-h, --help show this help message and exit
-d DRIVERNAME, --driver DRIVERNAME
specify a driver to be used
-a ADDRESS, --address ADDRESS
local dhcp server's address. (default: 192.168.0.1:80)
-u USERNAME, --username USERNAME
local dhcp server's username. (default: admin)
-p PASSWORD, --password PASSWORD
local dhcp server's password.
-f {json,texttable}, --format {json,texttable}
the format of the output list. (default: texttable)

### HTTP(S) Server: ###

usage: dhclientlist serve [-h] [-d DRIVERNAME] [-a ADDRESS] [-u USERNAME]
[-p PASSWORD] [--http-username HTTP_USERNAME]
[--http-password HTTP_PASSWORD] [-i] [--debug]
port

positional arguments:
port port that the dhclientlist HTTP(S) server will bind

optional arguments:
-h, --help show this help message and exit
-d DRIVERNAME, --driver DRIVERNAME
specify a driver to be used
-a ADDRESS, --address ADDRESS
local dhcp server's address. (default: 192.168.0.1:80)
-u USERNAME, --username USERNAME
local dhcp server's username. (default: admin)
-p PASSWORD, --password PASSWORD
local dhcp server's password.
--http-username HTTP_USERNAME
dhclientlist server username.
--http-password HTTP_PASSWORD
dhclientlist server password.
-i, --insecure use HTTP instead of HTTPS
--debug runs the server in debug mode

### Python lib: ###

import dhclientlist
dhclientlist.get(address, username, password) # optionally the 4th parameter: driver

## Drivers ##

The connection with DHCP server is made by a _driver_, a python module inside the **dhclientlist.drivers** package (or in any of its sub-packages) that has a get(address, username, password) function which return a list of dicts; each dict containing the following key-value pairs:

("name", name_str), # name of the guest connected to the dhcp server
("mac", mac_str), # MAC address of the guest connected to the dhcp server
("ip", ip_str), # IP address of the guest connected to the dhcp server
("lease", lease_str) # time in the format hh:mm:ss until this registry is updated in the dhcp server

The **dhclientlist.util.find_driver** function will try to find the appropriate driver for the local DHCP server. However, the number of drivers is quite small at the moment, and dhclientlist may not succeed with the local DHCP server. In this case, one is welcome to contribute by forking this project and developing a driver to the local DHCP server.

Release files for dhclientlist 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dhclientlist 0.0.6
File Size Uploaded
dhclientlist-0.0.6.zip 14.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for dhclientlist 0.0.6
File Interpreter ABI Platform
dhclientlist-0.0.6.win32-py2.7.exe Details
dhclientlist-0.0.6-py2.7.egg Legacy Egg format - - Details

Total release size: 240.1 kB

Release files / dhclientlist-0.0.6.zip

Download URL dhclientlist-0.0.6.zip
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
728cef51f50cdc6ee4afe0e025f046bf74ea7d76cb48f9e173ac31b44c124585
BLAKE2b-256 checksum
How to use checksums
b09b4cf2148a586956e3dc87ec7f7c974832ce817f695c36b8e3ace7ef42a6d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / dhclientlist-0.0.6.win32-py2.7.exe

Download URL dhclientlist-0.0.6.win32-py2.7.exe
Size 209.5 kB
Tags Source
SHA-256 checksum
How to use checksums
432b553ff031a7a3a3581314c880e0e7e2364ac07458fa0663964c56dfebfa13
BLAKE2b-256 checksum
How to use checksums
7b22b546a9048badfc476b7a1141663e90c7cabc8e29a9d682a1b18f02013d44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / dhclientlist-0.0.6-py2.7.egg

Download URL dhclientlist-0.0.6-py2.7.egg
Size 15.9 kB
Tags Egg
SHA-256 checksum
How to use checksums
64d426b2c42565f981cd9c80b2ed2864107db5c078ab80452b1fd43e0f123442
BLAKE2b-256 checksum
How to use checksums
a82e2e5d29d1ddc659fe3961ca5eec354817e846cc100c334ea9b0b2b96a208c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.6 This release

3 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page