Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
evillimiter — ローカルネットワーク上のデバイスの帯域幅を、管理者権限なしで監視・分析・制限するツール | Kitploit
ツール/GitHubGitHub/davidsonrafaelk/evillimiter
ネットワークマッピングIDS/IPS回避情報収集ネットワークセキュリティワイヤレスセキュリティペネトレーションテストレッドチーミング
GitHubdavidsonrafaelk/evillimiter

evillimiter

ローカルネットワーク上のデバイスの帯域幅を、管理者権限なしで監視・分析・制限するツール

リポジトリを見る
910622日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Evil Limiter

Evil Limiter

License Python CI Latest release Last commit GitHub stars

このプロジェクトは bitbrute/evillimiter のメンテナンスフォークです。上流リポジトリはもはやメンテナンスされていないため、このフォークが開発(バグ修正、新機能、互換性アップデート)を継続しています。下記のフォーク固有の変更を参照してください。

ローカルネットワーク上のデバイスの帯域幅(アップロード/ダウンロード)を、物理的または管理アクセスなしで監視・分析・制限するツールです。
evillimiter は ARPスプーフィング と トラフィックシェーピング を利用して、ネットワーク上のホストの帯域幅を制限します。IPv6対応ネットワークでは、NDPスプーフィング がARPスプーフィングと併用され、ホストのIPv6トラフィックも遮断します。これを行わないと、IPv4のみの制限/ブロックを迂回されてしまいます。

Windows対応版をお探しですか?
オープンソースの代替品 EvilLimiter for Windows をチェックしてください。

所有しているネットワーク、またはテストの書面による許可を得たネットワークに対してのみ実行してください。ARPおよびNDPスプーフィングは設計上、他人のトラフィックを妨害します。制御していないネットワークに対してこれを行うことは、ほとんどの地域で違法です。

目次

  • 要件
  • インストール
  • 使用方法
  • 制限事項
  • フォーク固有の変更
  • 貢献

要件

  • Linuxディストリビューション
  • Python 3.9 以降

不足している可能性のあるPythonパッケージは、インストールプロセス中にインストールされます。

互換性に関する注意

evillimiter は起動時に PATH 経由で tc、iptables、sysctl を探し、いずれかが欠けている場合は明確にエラーを出します。具体的には iptables バイナリをシェルアウトします。iptables が iptables-nft 互換シムであるディストリビューションでは通常これで動作しますが、iptables シムがインストールされておらず、純粋にネイティブな nft ルールで管理されているファイアウォールは、このツールが対応する対象ではありません。

インストール

root@kitploit:~
git clone https://github.com/DavidsonRafaelK/evillimiter.git
cd evillimiter
python3 -m venv .venv
source .venv/bin/activate
pip install .

sudo で実行します(rawソケット、iptables/tc にはroot権限が必要です)。root権限が必要なのはインストールではなく実行です:

root@kitploit:~
sudo .venv/bin/evillimiter

注意:sudo python3 setup.py install(旧来の手順)は現代のsetuptoolsでは非推奨であり、ModuleNotFoundError: No module named 'setuptools' で完全に失敗することがよくあります。sudo はシステムPythonを実行するため、通常はvenv自身のPython(pip が管理)とは異なり、setuptoolsがインストールされていません。PEP 668 を強制するディストリビューション(Arch、Debian 12+など)では、この理由からvenv外へのインストールは完全にブロックされます。

あるいは、リリースページ から希望のバージョンをダウンロードすることもできます。

使用方法

ツールを実行するには evillimiter または python3 bin/evillimiter と入力します。

evillimiter は必要な情報(ネットワークインターフェース、ネットマスク、ゲートウェイアドレスなど)を自動的に解決しようとします。

コマンドライン引数

設定ファイル

上記のフラグのいずれも(ワンショットアクションであり永続的な設定ではない -f/--flush を除く)に、オプションのiniファイル ~/.config/evillimiter/config.ini(または $XDG_CONFIG_HOME/evillimiter/config.ini)でデフォルト値を設定できます。コマンドラインのフラグは常に設定ファイルより優先されます。

root@kitploit:~
[general]
interface = wlan0
colorless = true
auto_scan = true
log_file = /var/log/evillimiter.log

[watch]
interval = 30
range = 192.168.1.1-192.168.1.50

[watch] は通常、実行時に watch set interval/watch set range(下記参照)で設定される初期値を設定するため、毎セッション再入力する必要がありません。

auto_scan(オプトイン、デフォルトではオフ)は、起動直後に scan と hosts を自動的に実行するため、毎セッション入力する必要がありません。

evillimiter コマンド

制限事項

  • IPv4トラフィックのみをレート制限します。ARPスプーフィング はIPv4ネットワークにのみ存在するARPパケットを必要とするためです。IPv6デフォルトルートがあるネットワークでは、ホストのIPv6トラフィックはレート制限ではなくNDPスプーフィングによって完全にブロックされます。トラフィックを整形する tc/iptables ルールはIPv4専用だからです。
  • セルラーへのフォールバックで無効化されます。 ブロック/制限されたスマートフォンは、WiFiが劣化するとLTE/5Gに切り替えることができます(Androidの「不安定な接続を回避」、iOSの同等機能)。そのトラフィックはネットワークに一切触れません。
  • MACランダム化デバイスは再接続時に新しいホストとして現れます。 多くのスマートフォンはネットワーク参加ごとに異なるMACをデフォルトで提示するため、watch(MACで照合)は追跡できません。古い制限は誰も使用しなくなったMAC/IPにバインドされたままになります。そのようなアドレスは hosts テーブルで (random) としてフラグ付けされ(ローカル管理ビットが設定されている)、新しいIDで再出現する可能性のあるデバイスを特定できます。
  • 既に開いている接続は残存することがあります。 進行中のストリーム/ダウンロードは、途中でゲートウェイのアドレスを常に再解決するとは限らないため、自然にリセットされるまで古いARP/NDPキャッシュエントリで流れ続ける可能性があります。新しい接続は即座に捕捉されます。
  • 異なるサブネット/VLAN上のデバイスは見えません。 2.4GHz/5GHzを別々のサブネットに分割するバンドステアリングメッシュシステムでは、ホストがスキャンされたIPレンジの外に完全にローミングする可能性があります。
  • 2番目のネットワークパスで迂回されます。 イーサネットも持つデバイス(主にラップトップ、スマートフォンではない)は、それに切り替えて未処理のセグメントに到達できます。
  • Dynamic ARP Inspectionを備えたマネージドスイッチはスプーフィングを完全にブロックできます。 一般的なホームルーターでは無関係ですが、企業/エンタープライズネットワークでは重要です。

フォーク固有の変更

以下はすべて、上流の最終リリース(v1.5.0)に加えてこのフォークで追加されたものです:

  • IPv6(NDP)スプーフィング。limit/block がIPv4だけでなくホストのIPv6トラフィックもカバーします
  • デフォルトフラグとウォッチ設定用のオプション設定ファイル(~/.config/evillimiter/config.ini)
  • ok/エラーメッセージをファイルに永続化する -l/--log-file
  • --version フラグ
  • 逆引きDNSが失敗した場合のmDNS/NetBIOS/DHCPホスト名フォールバック
  • block が FORWARD だけでなく INPUT/OUTPUT チェーン(このマシン自体との間のトラフィック)もブロックするようになりました
  • watch が各ウォッチ対象ホストのオンライン/オフライン状態を表示し、limit/block 時にホストを自動ウォッチするようになりました
  • IPアドレスではなくMACアドレスをキーとしたホスト追跡(再接続検出とハッシュ/等価性バグの修正)
  • limit/ が / の失敗を報告し、黙って成功を主張しないようになりました

完全なバージョン履歴(上流のものも含む)については CHANGELOG を参照してください。

貢献

バグを報告したい、機能をリクエストしたい、またはプルリクエストを送信したいですか? 問題の報告とPRの開始に関するルールについては CONTRIBUTING.md を参照してください。行動規範 もお読みください。

免責事項

Evil Limiter - 元々は bitbrute によって作成され、現在は DavidsonRafaelK によってメンテナンスされています - は「現状のまま」かつ「すべての欠陥を伴って」提供されます。原作者も現在のメンテナーも、このソフトウェアの安全性、適合性、ウイルスがないこと、不正確さ、誤字、その他の有害なコンポーネントに関していかなる種類の表明または保証も行いません。ソフトウェアの使用には固有の危険が伴い、Evil Limiterがお使いの機器および機器にインストールされている他のソフトウェアと互換性があるかどうかを判断する責任は完全にあなたにあります。また、機器の保護とデータのバックアップについても完全にあなたの責任であり、いずれの当事者も、このソフトウェアの使用、変更、または配布に関連して被る可能性のある損害について責任を負いません。

ライセンス

Copyright (c) 2019-2026 bitbrute、フォーク固有の変更について copyright (c) 2026 DavidsonRafaelK。一部の権利は留保されています。
Evil Limiter は、LICENSEファイル に記載されている通り、MITライセンスの下でライセンスされています。

ツールをダウンロード
引数説明
-hすべてのコマンドライン引数を一覧表示するヘルプメッセージを表示します
-i [インターフェース名]ネットワークインターフェースを指定します(未指定の場合は自動解決)
-g [ゲートウェイIPアドレス]ゲートウェイIPアドレスを指定します(未指定の場合は自動解決)
-m [ゲートウェイMACアドレス]ゲートウェイMACアドレスを指定します(未指定の場合は自動解決)
-n [ネットマスクアドレス]ネットマスクを指定します(未指定の場合は自動解決)
-f現在のiptablesおよびtc設定をフラッシュします。パケットが正しく処理されることを保証します。
--colorlessカラー出力を無効にします
-l [ファイルパス]、--log-file [ファイルパス]すべてのok/エラーメッセージをこのファイルにも追記します(プレーンテキスト、カラーコードなし)。
--versionインストールされているバージョンを表示して終了します。
コマンド説明
scan (--range [IPレンジ]) (--intensity [1,2,3])ネットワーク上のオンラインホストをスキャンします。起動後に行う最初の操作の1つです。
--range でカスタムIPレンジを指定できます。
--intensity は速度と徹底性をトレードオフします:1 は高速、2 は通常(デフォルト)、3 は集中的(より多くの再試行/より長いタイムアウト、パケット損失の多いネットワークに有用)。再度変更するまで維持され、watch のバックグラウンド再接続スキャンにも適用されます。
例:scan --range 192.168.178.1-192.168.178.40 またはサブネット全体をスキャンするには単に scan
hosts (--force)以前にスキャンしたすべてのホスト/デバイスと基本情報を表示します。操作に必要な各ホストのIDを表示します。
--force はターミナルに収まらない場合でもテーブルを強制的に表示します。
limit [ID1,ID2,...] [レート] (--upload) (--download)指定されたIDに関連付けられたホストの帯域幅を制限します。レートがインターネット速度を決定します。ホストは自動的にウォッチリストに追加されます。
--upload は送信トラフィックのみを制限します。
--download は受信トラフィックのみを制限します。
有効なレート:bit、kbit、mbit、gbit
レートは独立したアップロード/ダウンロードレートのために up/down(例:200kbit/1mbit)も指定可能 - 両方向でのみ有効(--upload/--download なし)。
例:limit 4,5,6 200kbit または limit all 1gbit または limit 4 200kbit/1mbit
block [ID1,ID2,...] (--upload) (--download)指定されたIDに関連付けられたホストのインターネット接続をブロックします。ホストは自動的にウォッチリストに追加されます。
--upload は送信トラフィックのみを制限します
--download は受信トラフィックのみを制限します。
netem [ID1,ID2,...] (--delay [ms]) (--loss [%]) (--clear)ホストにパケット遅延/損失をエミュレートします - ホストが既に limit されている必要があります。既存のレート制限tcクラスにアタッチするためです。ホストが制限されている方向(複数可)にアタッチします。個別の方向フラグはありません。
--clear はレート制限を残したままnetemを削除します。
例:netem 4 --delay 200ms --loss 10% または netem 4 --clear
free [ID1,ID2,...]指定されたIDに関連付けられたホストの制限/ブロックを解除します。すべての追加の制限を削除します。
add [IP] (--mac [MAC])カスタムホストをホストリストに追加します。MACアドレスは自動的に解決されるか、手動で指定できます。
例:add 192.168.178.24 または add 192.168.1.50 --mac 1c:fc:bc:2d:a6:37
monitor (--interval [ミリ秒])制限/ブロックされたホストだけでなく、発見されたすべてのホストの帯域幅使用量を監視します(現在の使用量、総使用帯域幅など)。
--interval は帯域幅情報が更新される間隔をミリ秒で設定します(デフォルト500ms)。
例:monitor --interval 1000
analyze [ID1,ID2,...] (--duration [秒])誰がどれだけの帯域幅を使用しているかを判断するために、制限せずにホストのトラフィックを分析します。
--duration は分析の時間を秒で指定します(デフォルト30秒)。
例:analyze 2,3 --duration 120
watch現在のウォッチステータスを表示します。各ウォッチ対象ホストの最後のスキャン時点でのオンライン/オフライン状態を含みます。ウォッチ機能はホストが異なるIPアドレスで再接続したことを検出します。
ホストは limit または block 時に自動的にウォッチリストに追加されます。
watch add [ID1,ID2,...]指定されたホストをウォッチリストに追加します。
例:watch add 6,7,8
watch remove [ID1,ID2,...]指定されたホストをウォッチリストから削除します。
例:watch remove all
watch set [属性] [値]現在のウォッチ設定を変更します。以下の属性を変更できます:
range は再接続をスキャンするIPレンジです。
interval は各ネットワークスキャン間の待機時間(秒)です。
例:watch set interval 120
clearターミナルウィンドウをクリアします。
quitアプリケーションを終了します。
?、helpこれと同様のコマンド情報を表示します。
block
tc
iptables
  • アップロード+ダウンロードの複合制限/ブロックの制限解除における誤検知/重複コマンドバグを修正
  • テラバイト範囲の合計の ByteValue フォーマットを修正
  • すべてのプッシュ/PRでテストスイートを実行するCI
  • セッション間で永続化されるシェルコマンド履歴(~/.config/evillimiter/history)、↑/↓でナビゲート可能
  • hosts テーブルが制限/ブロックされたホストに割り当てられたレート/方向を表示(単なる「Limited」/「Blocked」ではなく)
  • スキャン速度と徹底性をトレードオフする scan --intensity [1,2,3](高速/通常/集中的)
  • 起動時に scan と hosts を自動実行する auto_scan 設定オプション
  • monitor が制限/ブロックされたホストだけでなく、発見されたすべてのホストを追跡
  • limit が1回の呼び出しで独立したアップロード/ダウンロード制限のために up/down レート(例:200kbit/1mbit)を受け付け
  • 既に制限されているホストにパケット遅延/損失をエミュレートする netem [ID] --delay [ms] --loss [%](削除するには --clear)