
一款无需物理或管理访问权限,即可监控、分析并限制本地网络中设备带宽(上传/下载)的工具。
evillimiter-ng 利用 ARP 欺骗 和 流量整形 来限制网络中主机的带宽。
安装过程中会自动安装可能缺失的 Python 包。
pip install evillimiter-ng
使用 AUR,可以手动安装该软件包:
git clone https://aur.archlinux.org/evillimiter-ng.git
cd evillimiter-ng
makepkg -si
或使用 AUR 助手:
# Using KPA (https://github.com/KevinCrrl/kpa)
kpa Ins evillimiter-ng
# Or using yay (https://github.com/Jguer/yay)
yay -S evillimiter-ng
了解如何在你自己的项目中使用库 API,编写更少的代码,利用基于带有分配 ID 的 IP 列表的架构,并探索该代码在终端程序之外的更多用途:库文档
安装后,你可以通过以下基本工作流程开始使用该工具。
evillimiter-ng -i wlan0
scan
limit 3 200kbit
# Scan the network, list hosts, block everyone for 20 seconds, and then restore connection.
echo "scan && hosts && block all && sleep 20 && free all && exit" | evillimiter-ng
# Scan the network, and save the results in a JSON file encoded in base64
scan && export-json my_network.json
有了它,你可以在未来的会话中无需重新扫描即可恢复这些结果:
import-json my_network.json
🛑 关键安全警告
Base64 不是加密(如 PGP)。 它仅对敏感数据(本地 IP、MAC 地址)进行混淆,使其无法被肉眼直接看到。任何用户或程序都可以轻松解码此文件。
- 权限: 该文件受读保护和写保护(仅限 root),以防止损坏。
- 风险: 即使恶意用户获得了 root 访问权限,他们也无法解密从未加密的内容,但他们可以读取、损坏或销毁信息。请勿依赖此文件来保证机密性。
evillimiter-ng 命令你可以使用 -h 命令查看通用帮助菜单,此外,每个命令都有一个由 argparse 生成的子菜单,你可以通过输入以下内容查看这些帮助:
>>> <COMMAND_NAME> -h
例如:
>>> scan -h
usage: scan [-h] [-r RANGE] [-i INTENSITY]
options:
-h, --help show this help message and exit
-r, --range RANGE
-i, --intensity INTENSITY
# Another example:
>>> watch --help
usage: watch [-h] {add,remove,set} ...
positional arguments:
{add,remove,set}
add Adds host to the reconnection watchlist. e.g.: watch add 3,4
remove Removes host from the reconnection watchlist. e.g.: watch remove all
set Changes reconnect watch settings. e.g.: watch set interval 120 watch set intensity 1
options:
-h, --help show this help message and exit
此表显示了所有可用命令:
请在此处阅读完整的法律免责声明:
版权所有 (c) 2026,KevinCrrl。
根据 GPL-2.0-only 许可证 授权。
有关原始作者、依赖项及其各自许可证的详细列表,请参阅 CREDITS 文件。
| 参数 | 说明 |
|---|
-h | 显示帮助信息,列出所有命令行参数 |
-s | 启用 shell 模式以输入命令,并隐藏横幅和花哨元素 |
-i [Interface Name] | 指定网络接口(未指定时自动解析) |
-g [Gateway IP Address] | 指定网关 IP 地址(未指定时自动解析) |
-m [Gateway MAC Address] | 指定网关 MAC 地址(未指定时自动解析) |
-n [Netmask Address] | 指定子网掩码(未指定时自动解析) |
| 命令 | 说明 |
|---|
scan (--range [IP Range]) (--intensity [(1,2,3)]) | 扫描你的网络以查找在线主机。启动后首先要做的事情之一。--range 允许你指定自定义 IP 范围。--intensity 允许你指定扫描强度/速度(1 = 快速,2 = 正常(标准),3 = 高强度)。示例: scan --range 192.168.178.1-192.168.178.40 --intensity 1 或直接 scan。 |
hosts | 显示所有已扫描的主机及基本信息。 |
limit [ID1,ID2,...] [Rate] (--upload) (--download) | 限制与指定 ID 关联的主机的带宽。 |
block [ID1,ID2,...] (--upload) (--download) | 阻止主机的互联网连接。 |
free [ID1,ID2,...] | 移除带宽限制。 |
add [IP] (--mac [MAC]) | 手动添加自定义主机。 |
monitor (--with-id [ID1,ID2,...]) (--interval [time in ms]) | 监控主机的带宽使用情况。 |
analyze [ID1,ID2,...] (--duration [time in s]) | 分析流量使用情况。 |
watch | 显示当前监控状态。 |
watch add [ID1,ID2,...] | 将主机添加到监控列表。 |
watch remove [ID1,ID2,...] | 从监控列表中移除主机。 |
watch set [Attribute] [Value] | 更改监控设置。 |
clear | 清除终端窗口。 |
exit | 退出应用程序。 |
sleep | 等待 秒。 |
-h, --help | 显示命令帮助。 |
import-json, export-json [JSON_FILE_PATH] | 导入/导出包含以 base64 编码的 IP 地址和 MAC 地址的 JSON 文件。 |