DHCPIG(1)

πŸ‘‘ DHCPIG(1) β€” the dhcpig manual, bestie edition πŸ’…

okay so this is the manual page for dhcpig, section 1 of the manual, and it's dated June 2017 πŸŽ€ β€” yes she's a lil vintage, but she ATE and she's still iconic.


✨ NAME ✨

dhcpig β€” a DHCP exhaustion script that runs on the scapy network library πŸ¦‹


✨ SYNOPSIS ✨

dhcpig [options] <interface>
dhcpig -h|--help

✨ DESCRIPTION ✨

So basically, dhcpig starts up an advanced DHCP exhaustion attack. The whole vibe is: it consumes every single IP on the LAN, blocks new users from getting IPs, releases the IPs that are already in use, and then β€” for good measure, because why not β€” it sends gratuitous ARP and knocks all the Windows hosts offline πŸ˜­πŸ’€

When you run the script, here's the little sequence of events it goes through:

  • Grab your Neighbors IPs before they do β€” it listens for DHCP Requests coming from other clients, and if an offer gets detected, it responds with a request for that offer.
  • Request all available IP addresses in Zone β€” it loops and sends DHCP Requests, all of them from different hosts' MAC addresses 🫢
  • Find your Neighbors MAC / IP and release their IP from DHCP server β€” it ARPs for all the neighbors on that LAN, then sends DHCPReleases to the server.
  • Finally the script waits for DHCP exhaustion (which is defined as no received DHCP OFFERs for 10 seconds), and then…
  • Knock all Windows systems offline β€” gratuitous ARP the LAN, and since no additional DHCP addresses are available, those Windows systems should stay offline. Meanwhile Linux systems will not give up their IP even when another system on the LAN is detected with the same IP. not the Linux girls being unbothered fr fr πŸ’…

✨ OPTIONS ✨

Here's the tea on all the options of DHCPig. For every option, the default value or default behavior is listed in parentheses β€” so keep an eye on those πŸ“

  • -h, --help β€” show this help message and exit
  • -v, --verbosity β€” set the verbosity level. Can be set to:
    • 0 … no (3)
    • 1 … minimal
    • 10 … default
    • 99 … debug
  • -6, --ipv6 β€” DHCPv6 (off, DHCPv4 by default)
  • -1, --v6-rapid-commit β€” enable RapidCommit (2way ip assignment instead of 4way) (off)
  • -s, --client-src β€” a list of client macs 00:11:22:33:44:55,00:11:22:33:44:56 (Default: <random>)
  • -O, --request-options β€” option-codes to request, e.g. 21,22,23 or 12,14-19,23 (Default: 0-80)
  • -f, --fuzz β€” randomly fuzz packets (off)
  • -t, --threads β€” number of sending threads (1)
  • -a, --show-arp β€” detect/print arp who_has (off)
  • -i, --show-icmp β€” detect/print icmps requests (off)
  • -o, --show-options β€” print lease infos (off)
  • -l, --show-lease-confirm β€” detect/print dhcp replies (off)
  • -g, --neighbors-attack-garp β€” knock off network segment using gratious arps (off)
  • -r, --neighbors-attack-release β€” release all neighbor ips (off)
  • -n, --neighbors-scan-arp β€” arp neighbor scan (off)
  • -x, --timeout-threads β€” thread spawn timer (0.4)
  • -y, --timeout-dos β€” DOS timeout (8) (wait time to mass grat.arp)
  • -z, --timeout-dhcprequest β€” dhcp request timeout (2)
  • -c, --color β€” enable color output (off)
real talk though bestie: this is an attack tool. It exhausts DHCP scopes and knocks hosts offline on purpose. Only ever point it at a network you own or have explicit permission to test, okay? 🫢

✨ HISTORY ✨

June 2017 β€” the man page was originally compiled by Philippe Thierry (phil at reseau-libre dot com) 🌸


aaaand that's the whole page, no cap πŸ’– this was the DHCPig Man Page by Philippe Thierry, hailing from June 2017, tagged as DHCPIG(1) β€” go forth and read your man pages, you gorgeous nerd 🧚✨