Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DHCPig — scapyネットワークライブラリを使用してPythonで書かれたDHCP枯渇スクリプト | Kitploit
ツール/GitHubGitHub/kamorin/dhcpig
エクスプロイトファジングネットワークセキュリティワイヤレスセキュリティペネトレーションテストレッドチーミング
GitHubkamorin/dhcpig

DHCPig

scapyネットワークライブラリを使用してPythonで書かれたDHCP枯渇スクリプト

リポジトリを見る
35410192日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

DHCPig

ホワイトハットDHCP堅牢化検証: プールを枯渇させ、隣接ホストのリースを乗っ取り、偽造ARPでホストをアドレスから追い出し、ネットワークがそれを阻止したかどうかを報告します。rootとPython 3.11+が必要です。

Web UIを実行する

Debian / Kali: 最新の .deb をReleasesから取得してインストールしてください — dhcpig と dhcpig-web が PATH に配置され、venvは不要です:

root@kitploit:~
curl -LO https://github.com/kamorin/DHCPig/releases/download/v2.7.2/dhcpig_2.7.2-1_all.deb
sudo apt install ./dhcpig_2.7.2-1_all.deb
sudo dhcpig-web --open

グローバルインストール (任意のLinux、Python 3.11+、venv不要):

root@kitploit:~
git clone https://github.com/kamorin/DHCPig && cd DHCPig
sudo pip install --break-system-packages .
sudo dhcpig-web --open

rootとしてシステムPythonに直接インストールされるため、sudo dhcpig-web は .venv/bin/ のパス操作なしでコマンドを見つけられます。--break-system-packages は、pipがシステムパッケージに触れることを防ぐDebian/KaliのPEP 668ガードを上書きします。そのガードは apt 管理のパッケージを保護するために存在するものであり、このインストールが特殊だからではありません。.deb かvenvを使えばそもそも必要ありません。

ソースから (任意のLinux、Python 3.11+):

root@kitploit:~
git clone https://github.com/kamorin/DHCPig && cd DHCPig
python3 -m venv .venv && .venv/bin/pip install -e .
sudo .venv/bin/dhcpig-web --open

表示された http://127.0.0.1:8787/?token=... URLを開いてください。3つの注意点:

  • いずれにせよrootが必要です (raw socket)。ソース(venv)から使う場合は、完全な .venv/bin/ パスを使います — sudo は PATH をリセットするため。
  • ?token= は必須です。 これがないと401が返り、空白ページになります。
  • ヘッドレスですか? 意図的にループバックにバインドしています。再バインドせず転送してください: ssh -L 8787:127.0.0.1:8787 user@<vm-ip>。--open は外してください。

Debian/Kaliでは、venvステップが失敗した場合、最初に sudo apt install -y python3-venv を実行してください。

CLI

root@kitploit:~
sudo .venv/bin/dhcpig exhaust eth0 --report run.json
sudo .venv/bin/dhcpig release eth0 --scope 192.168.4.0/22     # DESTRUCTIVE
sudo .venv/bin/dhcpig active-scan eth0 --scope 192.168.4.0/22 # read-only
sudo .venv/bin/dhcpig release-previous eth0                   # undo a previous run
dhcpig ifaces

-v0 は結果のみを出力します。-v3 はパケットレベルのデバッグを追加します。全フラグのリファレンス: man dhcpig(インストール前は packaging/dhcpig.1)。

各モードの動作

DHCP Exhaustion (exhaust) — 破壊的

  • セグメントをARPで調査し、このマシンと未知のMACに対してDHCPが機能することを確認します
  • すべての隣接ホストのリースをDHCPRELEASEします — このプロトコルは所有権の証明を必要としません
  • サーバーが応答を停止するまで、偽造MACからDISCOVER/REQUESTをフラッディングします
  • プールが枯渇したら、解放されたアドレスを名前(オプション50)で再要求します
  • 取得したアドレスに対してRFC 5227 ARP競合を偽装し、ホストがアドレスを譲るかどうかを確認します
  • 判定: その後、まったく新しいクライアントはアドレスを取得できるでしょうか?

DHCP Release Active Clients (release) — 破壊的

  • フラッディングを除いた同じ連鎖: 調査 → 解放 → 名前で再要求 → ARP競合
  • 現在接続中のデバイスに作用します。プールはそのまま残るため、ほとんどは再取得できます
  • 判定: アドレスを失い、新しいアドレスを取得できなかったホストはありましたか?

Post Exhaustion / Reset (release-previous) — 復旧

  • ディスク上のリースジャーナルを再生し、このツールが取得したすべてのアドレスを返却します
  • このインターフェース、ネットワーク、DHCPサーバーにフィルタリングされます。--max-age で古いエントリを除外します
  • プールがすでに枯渇していたかどうかを記録しますが、いずれにしてもジャーナル化されたリースは解放します
  • 判定: プールは再び使用可能ですか?

Find Neighbors (active-scan) — 読み取り専用

  • スコープをARPスイープし、DHCPサーバーのフィンガープリントを得るためにDHCPINFORMを1回送信します
  • アドレスを取得せず、リースにも影響を与えません

Passive scan (scan) — 読み取り専用、CLIのみ

  • DHCPとARPを監視し、オプション55の順序でホストをフィンガープリントし、フォールバックとしてMACベンダーを使用します
  • 何も送信しません。停止するまで実行されます

実行結果を読む

すべてはイベントログに記録され、重大なものから順に表示されます: 検出結果、次にホストごとに1行、最後に OUTCOME の集計です。Verbosity 0(web)または -v0(CLI)でパケットトラフィックが非表示になります。JSONエクスポートが完全な記録であり、ログは要約です。

実行の取り消し

リースは実行後も保持され、枯渇状態を検証できます。解放するには:

root@kitploit:~
sudo .venv/bin/dhcpig restore eth0             # same process still running
sudo .venv/bin/dhcpig release-previous eth0    # any time later, from the lease journal

ジャーナル($XDG_STATE_HOME/dhcpig/leases-<iface>.jsonl)には、取得したリースごとのMAC、IP、サーバー、タイムスタンプが記録されます — 診断データです。完了したら削除してください。

免責事項

所有しているネットワーク、または明示的にテストを許可されたネットワークに対してのみ実行してください。release と exhaust は設計上、稼働中のクライアントを妨害します。--scope は任意で、デフォルトではセグメント全体になります。作者は誤用について責任を負いません。

設計ノートと内部構造: docs/DESIGN.md。コントリビューション: CONTRIBUTING.md。ライセンス: GPL v2以降。

ツールをダウンロード
フラグ
--dry-run偵察のみ: ARPスイープと制御トランザクションは実際に実行されますが、変異を起こすものは送信されません
--scope CIDRターゲットを制限します(繰り返し指定可)。デフォルトはインターフェース自身のネットワーク
--rate Npps、デフォルト7 — exhaust では使用不可(自己ペースのため)
--no-evictARP競合フェーズをスキップします
--report FILE実行終了時にセッションレポートを FILE に書き込みます。形式は FILE の拡張子に従います(.json/.csv/.html、デフォルトはJSON)
--client-mac MACexhaust のみ。ランダムなMACの代わりにこのMACを使用します(繰り返し指定可 — リストを順に使用)
--request-option SPECexhaust/active-scan。送信するDHCPオプション55(パラメータ要求リスト)の内容。例: 12,14-19,23(デフォルト: 組み込みのmacOS順プロファイル)
--no-spoof-eth-srcexhaust のみ。すべてのフレームのEthernetソースとして実際のNIC MACを使用します(Wi-Fi。APは、ソースMACが関連付けられたステーションと一致しないフレームをドロップします)