はじめに
Evillimiter
Evillimiterは、LANに接続されたデバイスの帯域幅使用量を制限できる無料のオープンソース監視ツールです。 LinuxとWindowsで動作し、ネットワークへの管理アクセスがなくても動作します。
また、物理的または管理的なアクセスなしで、ローカルネットワーク上のデバイスの帯域幅(アップロード/ダウンロード)を監視、分析、および制限するためのツールです。
Evillimiterは、ARPスプーフィングとトラフィックシェーピングを使用して、ネットワーク上のホストの帯域幅を抑制します。
Evillimiterをインストールする
インストールにはPython3が必要です。これは、ほとんどのLinuxインストールでデフォルトで使用可能です。 evillimiterをインストールするには、以下のコマンドを実行します。
[unixcop@rhel-pc ~]$ git clone https://github.com/bitbrute/evillimiter.git
Cloning into 'evillimiter'...
remote: Enumerating objects: 256, done.
remote: Counting objects: 100% (102/102), done.
remote: Compressing objects: 100% (76/76), done.
remote: Total 256 (delta 61), reused 62 (delta 26), pack-reused 154
Receiving objects: 100% (256/256), 69.47 KiB | 11.00 KiB/s, done.
Resolving deltas: 100% (145/145), done.
[unixcop@rhel-pc ~]$
上記のコマンドはソースコードを取得します。
次に、以下のこのコマンドを実行して、ソースディレクトリに移動します。
[unixcop@rhel-pc ]# cd evillimter
[unixcop@rhel-pc evillimiter]#
次に、このコマンドを実行して、evillimiterをインストールします。
[unixcop@rhel-pc evillimiter]# sudo python3 setup.py install
Evillimiterを使用してWi-Fiネットワークを管理および制御する
インストールが完了すると、個人用Wi-Fiに接続されているデバイスの監視を開始できます。これを行うには、次のコマンドを実行してアプリを起動します:
[root@rhel-pc ]# evillimiter
注 :evillimiterを実行して使用するには、sudo/root権限が必要です。これは、ネットワークコントローラーを処理し、低レベルのカーネルパラメーターにアクセスする必要があるためです。初めてevillimiterを実行すると、Wi-Fiネットワークに関する情報が表示されます。

ヘルプと入力すると、使用可能なコマンドのリストを表示できます インタラクティブコンソールで。
(Main) >>> help
type help or ? to show command information.
(Main) >>>
(Main) >>>
(Main) >>> help
scan (--range [IP range]) scans for online hosts on your network.
required to find the hosts you want to limit.
e.g.: scan
scan --range 192.168.178.1-192.168.178.50
scan --range 192.168.178.1/24
hosts (--force) lists all scanned hosts.
contains host information, including IDs.
limit [ID1,ID2,...] [rate] limits bandwith of host(s) (uload/dload).
(--upload) (--download) e.g.: limit 4 100kbit
limit 2,3,4 1gbit --download
limit all 200kbit --upload
block [ID1,ID2,...] blocks internet access of host(s).
(--upload) (--download) e.g.: block 3,2
block all --upload
free [ID1,ID2,...] unlimits/unblocks host(s).
e.g.: free 3
free all
add [IP] (--mac [MAC]) adds custom host to host list.
mac resolved automatically.
e.g.: add 192.168.178.24
add 192.168.1.50 --mac 1c:fc:bc:2d:a6:37
monitor (--interval [time in ms]) monitors bandwidth usage of limited host(s).
e.g.: monitor --interval 600
analyze [ID1,ID2,...] analyzes traffic of host(s) without limiting
(--duration [time in s]) to determine who uses how much bandwidth.
e.g.: analyze 2,3 --duration 120
watch detects host reconnects with different IP.
watch add [ID1,ID2,...] adds host to the reconnection watchlist.
e.g.: watch add 3,4
watch remove [ID1,ID2,...] removes host from the reconnection watchlist.
e.g.: watch remove all
watch set [attr] [value] changes reconnect watch settings.
e.g.: watch set interval 120
clear clears the terminal window.
quit quits the application.
(Main) >>>
スキャンホスト
接続されたデバイスを監視する前に、ローカルネットワークをスキャンする必要があります。これを行うには、scanコマンドを使用します。
(Main) >>> scan
また、ホストを表示することもできます。 ホストを使用する すべてのアクティブなホストを一覧表示するコマンド。
(Main) >>> hosts
(Main) >>> scan
0% | | 0/256
23% |███████▎ | 60/256
49% |██████████████▋ | 125/256
84% |█████████████████████████ | 214/256
100% |██████████████████████████████| 256/256
OK 4 hosts discovered.
(Main) >>> hosts
┌Hosts─────────────┬───────────────────┬─────────────────┬────────┐
│ ID │ IP address │ MAC address │ Hostname │ Status │
├────┼─────────────┼───────────────────┼─────────────────┼────────┤
│ 0 │ 192.168.1.1 │ 20:e8:82:a0:ff:b2 │ csp1.zte.com.cn │ Free │
│ 1 │ 192.168.1.2 │ 3c:57:6c:19:52:be │ galaxy-j6 │ Free │
│ 2 │ 192.168.1.3 │ 10:b1:f8:ab:20:2a │ huawei_nova-7i │ Free │
│ 3 │ 192.168.1.4 │ ce:74:8b:a1:c8:19 │ realme-7 │ Free │
└────┴─────────────┴───────────────────┴─────────────────┴────────┘
(Main) >>>
ホストの帯域幅の使用を制限する
これで、ホストと制限を表示できます それらの帯域幅使用量。
Evillimiterは各デバイスにIDを割り当てます。ステータスフィールドには、デバイスの帯域幅がすでに制限されているかどうかが表示されます。
limitコマンドを使用して、任意のデバイスの帯域幅を制限できます。
(Main) >>> limit 2 100kbit
また、カンマ区切りのリストを使用して、一度に多くのデバイスを制限できます。
これが例です
(Main) >>> limit 2,3 100kbit
Ok 192.168.1.2 upload / download limited to 100kbit.
Ok 192.168.1.3 upload / download limited to 100kbit.
このコマンドは、2番目と3番目のデバイスの帯域幅を100キロビットに制限します。
アップロード/ダウンロードの速度を個別に制限する
帯域幅の制限は、アップロード速度とダウンロード速度の両方に設定されています。ただし、アップロード/ダウンロードの速度を個別に制限することもできます。次のコマンドは、2番目のデバイスのダウンロード速度を100キロビット/秒に制限します。
(Main) >>> limit 2 100kbit --download
ホストデバイスの接続をブロックする
blockコマンドを使用して、ホストデバイスのインターネット接続をブロックすることもできます。
(Main) >>> block 2
このコマンドは、2番目のデバイスがネットワークリソースを使用するのをブロックします。 –アップロードを使用する および–ダウンロード 一方通行をブロックするためのフラグ。
(Main) >>> block 2 --download
また、以下のコマンドを使用して、他のすべてのWi-Fiデバイスをブロックできます。
(Main) >>> block all
無料のブロックされたホスト
完了したら、これらのデバイスを解放することもできます。これを行うには、freeコマンドに続けてホストIDを使用します。
(Main) >>> free 1,2,3
(Main) >>> free all
これは、すべてのホストをブロックして解放する例です。
(Main) >>> block all
OK 192.168.1.1 upload / download blocked.
OK 192.168.1.2 upload / download blocked.
OK 192.168.1.3 upload / download blocked.
OK 192.168.1.4 upload / download blocked.
(Main) >>>
(Main) >>> hosts
┌Hosts─────────────┬───────────────────┬─────────────────┬─────────┐
│ ID │ IP address │ MAC address │ Hostname │ Status │
├────┼─────────────┼───────────────────┼─────────────────┼─────────┤
│ 0 │ 192.168.1.1 │ 20:e8:82:a0:ff:b2 │ csp1.zte.com.cn │ blocked │
│ 1 │ 192.168.1.2 │ 3c:57:6c:19:52:be │ galaxy-j6 │ blocked │
│ 2 │ 192.168.1.3 │ 10:b1:f8:ab:20:2a │ huawei_nova-7i │ blocked |
│ 3 │ 192.168.1.4 │ ce:74:8b:a1:c8:19 │ realme-7i │ blocked │
└────┴─────────────┴───────────────────┴─────────────────┴─────────┘
(Main) >>> free all
(Main) >>>
(Main) >>> hosts
┌Hosts─────────────┬───────────────────┬─────────────────┬────────┐
│ ID │ IP address │ MAC address │ Hostname │ Status │
├────┼─────────────┼───────────────────┼─────────────────┼────────┤
│ 0 │ 192.168.1.1 │ 20:e8:82:a0:ff:b2 │ csp1.zte.com.cn │ Free │
│ 1 │ 192.168.1.2 │ 3c:57:6c:19:52:be │ galaxy-j6 │ Free │
│ 2 │ 192.168.1.3 │ 10:b1:f8:ab:20:2a │ huawei_nova-7i │ Free │
│ 3 │ 192.168.1.4 │ ce:74:8b:a1:c8:19 │ realme-7 │ Free │
└────┴─────────────┴───────────────────┴─────────────────┴────────┘
(Main) >>>
インタラクティブコンソールを終了するには、コマンドウィンドウで「quit」と入力するか「exit」と入力します。
(Main) >>> quit
現在のセッションを終了し、ターミナルプロンプトに戻ります。
注 :
1-インタラクティブコンソールは色付きであるため、環境によっては正しく動作しない場合があります。色分けに必要なパッケージをインストールするか、 –colorlessを使用できます そのような場合のオプション。
sudo evillimiter --colorless
ターミナルでこれを実行すると、evillimiterの無色のインタラクティブセッションが開始されます。 ASCIIカラーで問題が発生した場合はいつでもこのモードを使用できます。

2- -f オプションは、Linuxiptablesの構成またはネットワークパラメータの問題を解決するのに役立ちます。
sudo evillimiter -f
結論
Evillimiter を使用すると、LinuxでWi-Fiネットワークを簡単に制御できます。 。インストールは簡単で、管理者アクセスがなくてもうまく機能します。
注 :法的な問題の可能性を回避するために、他の人のネットワークでこのツールを使用しないでください。