This is a purely Python DHCP server that does not require any additional libraries or installs other that Python 3.
It was testet under Ubuntu 14 with Python and Windows 7. It does not use any operating system specific Python functions, so it should work when Python 3 works.
dhcpgui lists MAC address, IP address and host name.
This DHCP server program will assign IP addresses ten seconds after it received packets from clients. So it can be used in networks that already have a dhcp server running.
This Python DHCP server
- shows clients in the network
- lists IP address, Mac address and host name
- highlights recently refreshed/added clients
- assigns IP addresses 10 seconds later than usual DHCP servers
- remembers addresses in the
hosts.csv
file. - can be configured to serve all DHCP options using Python
Contributions welcome!
You can install this software by downloading the release named python_dhcp_server_standalone_X.Y.zip
file.
Unpack the zip file, you will find an executable .exe
file inside.
Under Linux you can download the source code and install Python 3 and Tkinter for Python 3:
sudo apt-get install python3 python3-tk
There are different ways to start:
- You can use the
python_dhcp_server.desktop
and double-click it. If it does not open, please report it and try the next one. - You can run the following command provided you are in the
server
directory.sudo python3 ./dhcpgui.pyw
This program was created to find Raspberry Pis in the network.
- Adafruit-Pi-Finder - finde deinen Raspberry Pi im Netzwerk
- Angry IP (Windows)
- 0.9
- Add icon to exe file and application
- Add flatpak build information
- 0.8
- Make text field expandable
- Show error message if DHCP port cannot be accessed
- 0.7
- Prevent duplicate assignment of IP addresses
- Add sliders to the GUI
- 0.6
- Use a queue
- Run in Linux
- Add install description
- Add ability to bind to a fixed IP address
- 0.5
- Fix issue with delay worker
- 0.4
- Fix issue with delay worker
- Add license
- 0.3
- Also show old values
- Random IP assignment when address space is full
- 0.2
- Add .exe file
- Add width and height
- 0.1
- Mark new entries as yellow
- Initial release
When the source code is changed, create a new release.
- Log the changes: Edit the Changelog Section in
README.md
python_dhcp_server/flatpak/io.github.niccokunzmann.python_dhcp_server.xml
git log # find changes git add README.md git commit -m"log changes"
- Create a new tag
git tag 0.10 git push origin 0.10
- Download the latest release.
cd ~/Downloads wget -c 'https://github.com/niccokunzmann/python_dhcp_server/releases/download/0.9/python_dhcp_server_standalone_0.9.zip'
- Unzip it.
rm -rf python_dhcp_server_standalone unzip python_dhcp_server_standalone_0.9.zip
- Replace the
server
directory.cd python_dhcp_server_standalone rm -r server cp -r ~/python_dhcp_server/server/ . rm -r server/__pycache__
- Zip the release.
cd .. zip -9r python_dhcp_server_standalone_0.10.zip python_dhcp_server_standalone
- Upload the zip file to the pushed release.
- Head over to the Flathub metadata and create a new release.