Skip to main content

# DHCPain

DHCPain is a simple, no-nonsense DHCP attack toolkit built in Scapy for Python3. It is capable of locating all DHCP servers on the network as well as exhausting DHCP scopes by responding to DHCP Offer messages.

### Purpose Some attack utilities either do not work with the current version of Scapy (such as [DHCPig](https://github.com/kamorin/DHCPig)), or only floods the network with DHCP Discover packets without properly responding to DHCP Offer messages. This tool is simple and fixes both of these issues.

### Setup

git clone https://github.com/GoodiesHQ/DHCPain

Though it is not required, it is recommended to install DHCPain into a virtual environment.

python3 -m virtualenv DHCPain cd DHCPain

# Linux . bin/activate

# Windows Scriptsactivate.bat

Once your environment is ready, simply install the requirements. DHCPain is a standalone python file.

pip install -r requirements.txt python dhcpain.py

### Usage

usage: dhcpain.py [-h] (–iface IFACE | –list) [–threads THREADS] [–delay DELAY]

optional arguments:
-h, --help

show this help message and exit

--iface IFACE, -i IFACE

Interface name/index

--list, -l

List available interfaces

--threads THREADS, -t THREADS

Number of concurrent threads

--delay DELAY, -d DELAY

Delay between messages per thread

### Example (Linux) With Linux, the common interface name is the only thing necessary for execution: ![Attacker Side](https://i.imgur.com/f1UxsF8.png) ![DHCP Server](https://i.imgur.com/pv6czkO.png)

### Example (Windows) On Windows, you will need to provide either the complete interface name, or the index. In this case, either of these two commands would operate the same way:

python dhcpain.py –iface 28 python dhcpain.py –iface “Intel(R) Dual Band Wireless-AC 8275”

![Windows Interfaces](https://i.imgur.com/kpvYw2d.png)

Once the interface is selected, it will perform as normal:

![Attacker Side](https://i.imgur.com/8kLZFWU.png)

Metadata

Release files for dhcpain 1.0.0

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

Source distribution (sdist)

Source distribution for dhcpain 1.0.0
File Size Uploaded
dhcpain-1.0.0.tar.gz 5.0 kB Details

Release files / dhcpain-1.0.0.tar.gz

Download URL dhcpain-1.0.0.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0ac73404df2f1e758ef5291350aa7b848290488b7a12bf5117d3e1a4b88c39ea
BLAKE2b-256 checksum
How to use checksums
bcb6a0d29c486b2a9a2708e29320d7afd4c3fd4dbd3b806c43bc0e25751fbc6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.6

Release history Release notifications | RSS feed

This release

1.0.0 This release

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