dhcpig
2.7.1 open-sourceThe section your link pointed to isn't on dhcpig's page any more, so we've brought you to the top.
DHCP exhaustion script written in python using scapy network library - kamorin/DHCPig
sudo dhcpig exhaust eth0 --scope 192.168.1.0/24 --report run.json --fail-on fail [ $? -eq 1 ] && echo 'segment is vulnerable' sudo dhcpig exhaust wlan0 --dry-run --no-spoof-eth-src --report recon.html sudo dhcpig scan eth0 sudo dhcpig exhaust eth0 --scope 192.168.10.0/24 --report run.json --fail-on fail [ $? -eq 1 ] && echo 'segment is vulnerable' sudo dhcpig active-scan eth0 --scope 10.0.1.0/24 --report scan-results.html sudo dhcpig release-previous eth0 --report recovery.json dhcpig-web --no-open python3 data/satori-merge.py --convert dhcp.xml dhcpig-web --no-open sudo .venv/bin/dhcpig exhaust eth0 --scope 192.168.4.0/22 --report run.json sudo .venv/bin/dhcpig active-scan eth0 --scope 192.168.4.0/22 --dry-run sudo .venv/bin/dhcpig release-previous eth0 sudo .venv/bin/dhcpig exhaust eth0 --scope 192.168.4.0/22 --report run.html sudo .venv/bin/dhcpig active-scan eth0 --scope 192.168.4.0/22 # On the VM: sudo .venv/bin/dhcpig-web # On your workstation: ssh -L 8787:127.0.0.1:8787 user@<vm-ip> # Then open: http://127.0.0.1:8787/?token=... sudo .venv/bin/dhcpig exhaust eth0 --scope 192.168.4.0/22 --report run.json sudo .venv/bin/dhcpig active-scan eth0 --scope 192.168.4.0/22 # On the VM: sudo .venv/bin/dhcpig-web # On your workstation: ssh -L 8787:127.0.0.1:8787 user@<vm-ip> # Then open the printed http://127.0.0.1:8787/?token=... URL in your browser. python3 data/satori-merge.py --convert dhcp.xml dhcpig exhaust --scope 192.168.1.0/24
Summary
dhcpig is an open-source command-line tool for DHCP exhaustion testing, free to use, that floods a LAN's DHCP pool, hijacks neighbours' leases, and evicts hosts from their addresses with forged ARPARPA network protocol that maps IP addresses to MAC addresses on a local Ethernet segment, letting tools resolve layer-3 targets to layer-2 hardware addresses for packet crafting or host discovery. to see whether the network's defenses catch it. It requires root privileges and Python 3.11+, and can be run either as a CLI (dhcpig exhaust, release, active-scan) or through a bundled local web UI, with a --dry-run mode for recon-only passes and scope limited by CIDRCIDRA notation for a block of IP addresses, such as 10.0.0.0/24. The number after the slash says how many leading address bits identify the network.. First committed in 2012, it's still maintained today, with 11 contributors and a release cut just 12 days ago.
DHCP exhaustion script written in python using scapy network library - kamorin/DHCPig
How dhcpig helps
Does this network actually stop issuing new leases once its pool is under pressure?
floods the LAN requesting every address in scope under distinct hosts and MAC addresses, then declares the pool exhausted once no offers arrive for 10 straight seconds, showing whether the DHCP server ran dry
Can an attacker on this LAN quietly take over a neighbour's address?
listens for DHCP offers meant for other clients and answers first, taking the lease for itself, so it shows whether the network lets a stranger grab an address that was already handed out
Are the hosts on this segment still up once their leases are pulled?
releases neighbours' IPs from the server and sends forged ARP across the LAN, then reports whether Windows hosts drop offline while Linux hosts hold their address anyway
Would a hardening change actually be caught, or does the network stay blind to this?
runs a read-only pass that ARP-sweeps and exchanges only control transactions, sending nothing that mutates a lease, so the same reconnaissance can be repeated before and after a defense change to compare
Which addresses in my range were actually touched by a run, and can I put them back?
the run's report lists every host and lease it claimed, and a reversal replays that record to release them, undoing the exhaustion without a second manual survey
Is this test confined to the subnet I meant to hit?
bounds every discovery, request, and release to the CIDR ranges given for that run, defaulting to the interface's own network if none is set
Languages
Command line
No command matches.
| option | found in | since | description |
|---|
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Score card
-
Shipping velocity releases a month, last 12 months
-
Documentation quality release-notes rubric, 0–100
-
Breaking-change discipline how rarely a release breaks users, and notice given
-
Maintenance risk quiet time against its own cadence, maintainers
-
Innovation & surface new capabilities, API and MCP surface
- Community health
-
Contributor trend distinct committers, this year against last
-
Maintainer concentration bus factor now against a year ago
-
Issue backlog trend issues closed per issue opened, 12 months
-
Responsiveness median time to a maintainer’s first reply
Nine scores for dhcpig, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Score cards are part of every paid plan.
See plans → Already subscribed? Sign in →Trajectory
Blank means never measured; nothing here is a filled-in zero.
Peer standings are included with Researcher and Business. See how this tool ranks against its competitors, using data we don't publish anywhere else.
See plans →Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
- Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
- Documentation quality — the release-notes rubric published on the analytics page, unchanged.
- Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
- Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
- Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
- Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
- Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
- Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail dhcpig puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Checking release-note history…
Releases
11 entries
No entries match these filters.
- October 20261
- September 20262
- August 20267
- July 20261
Project health
Issue, contributor and maintainer activity in kamorin/DHCPig, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.
- Contributors 2 +2 vs prior 12 months
- Maintainers 1 +1 joined · −0 left, last 12 months
- Bus factor 1 committers behind half the commits
- Community-filed not measured of issues opened, last 12 months
- Median time to close not measured issues closed, last 12 months
- Open backlog 0 of 11 issues ever filed
- Issues opened / month 0 · 0 communitymaintainers
- Open backlog 0
- Contributors / month 2
- Commits / month 10
- Stars 354
Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can follow every release here.