Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
evillimiter — 监控、分析并限制本地网络中设备带宽的工具,无需管理员权限即可使用。 | Kitploit
工具/GitHubGitHub/davidsonrafaelk/evillimiter
网络映射IDS/IPS规避信息收集网络安全无线安全渗透测试红队
GitHubdavidsonrafaelk/evillimiter

evillimiter

监控、分析并限制本地网络中设备带宽的工具,无需管理员权限即可使用。

查看仓库
7161天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

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 兼容层的发行版上通常可以正常工作,但若防火墙完全通过原生 nft 规则管理且未安装 iptables 兼容层,则此工具无法与之交互。

安装

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

使用 sudo 运行(原始套接字、iptables/tc 需要 root 权限)——需要 root 权限的是运行过程,而非安装过程:

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

注意:sudo python3 setup.py install(旧版说明)在现代 setuptools 中已弃用,且通常会直接报错 ModuleNotFoundError: No module named 'setuptools'——sudo 运行的是系统 Python,通常未安装 setuptools,这与由 pip 管理的虚拟环境自带 Python 不同。在强制实施 PEP 668 的发行版(Arch、Debian 12+ 等)上,出于此原因,在虚拟环境之外安装会被完全阻止。

或者,您可以从 Release 页面 下载所需版本。

使用方法

输入 evillimiter 或 python3 bin/evillimiter 即可运行该工具。

evillimiter 将自动解析所需信息(网络接口、子网掩码、网关地址等)。

命令行参数

配置文件

上述任何标志(-f/--flush 除外,它是一次性操作而非持久化偏好)都可以在 ~/.config/evillimiter/config.ini(或 $XDG_CONFIG_HOME/evillimiter/config.ini)中的可选 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)(其本地管理位已设置),以便您识别可能以新身份重新出现的设备。
  • 已建立的连接可能残留。 进行中的流媒体/下载不一定会在传输过程中重新解析网关地址,因此它可能继续通过过期的 ARP/NDP 缓存条目传输,直到自然重置——新连接会立即被捕获。
  • 不同子网/VLAN 上的设备不可见。 将 2.4GHz/5GHz 分离到不同子网的频段引导网状系统可能让主机完全漫游出扫描的 IP 范围。
  • 第二条网络路径可绕过限制。 同时具有以太网连接的设备(主要是笔记本电脑,而非手机)可切换到该连接并进入未受影响的网段。
  • 启用动态 ARP 检测的受管交换机可直接阻止欺骗。 在典型家用路由器上无关紧要,但在企业/公司网络上则至关重要。

分支特有变更

以下所有内容均在本分支中基于上游最后版本(v1.5.0)新增:

  • IPv6(NDP)欺骗,使 limit/block 也能覆盖主机的 IPv6 流量,而不仅限于 IPv4
  • 可选配置文件(~/.config/evillimiter/config.ini),用于设置默认标志和监视设置
  • -l/--log-file 将成功/错误消息持久化到文件
  • --version 标志
  • 反向 DNS 失败时的 mDNS/NetBIOS/DHCP 主机名回退
  • block 现在同时阻断 INPUT/OUTPUT 链(发往/来自本机的流量),而不仅限于 FORWARD
  • watch 现在显示每个被监视主机的在线/离线状态,并在 limit/block 时自动监视主机
  • 主机跟踪改为以 MAC 地址而非 IP 为键(修复了重连检测及哈希/相等性错误)
  • limit/ 报告 / 失败,而非静默声称成功

完整版本历史(包括上游版本)请参见 CHANGELOG。

贡献

想要报告错误、请求功能或提交拉取请求?请参阅 CONTRIBUTING.md 了解提交 issue 和发起 PR 的规则。还请阅读 行为准则。

免责声明

Evil Limiter——最初由 bitbrute 创建,现由 DavidsonRafaelK 维护——按"现状"和"包含所有缺陷"提供。原作者和当前维护者均不对本软件的安全性、适用性、无病毒、无错误、无拼写错误或其他有害组件作出任何形式的陈述或保证。使用任何软件都存在固有风险,您全权负责判断 Evil Limiter 是否与您的设备及设备上安装的其他软件兼容。您还全权负责保护您的设备和备份数据,任何一方均不对您因使用、修改或分发本软件而遭受的任何损害承担责任。

许可证

版权所有 (c) 2019-2026 bitbrute,分支特有变更版权 (c) 2026 DavidsonRafaelK。保留部分权利。
Evil Limiter 依据 LICENSE 文件 中所述的 MIT 许可证授权。

下载工具
参数说明
-h显示包含所有命令行参数的帮助信息
-i [接口名称]指定网络接口(未指定时自动解析)
-g [网关 IP 地址]指定网关 IP 地址(未指定时自动解析)
-m [网关 MAC 地址]指定网关 MAC 地址(未指定时自动解析)
-n [子网掩码地址]指定子网掩码(未指定时自动解析)
-f刷新当前 iptables 和 tc 配置。确保数据包得到正确处理。
--colorless禁用彩色输出
-l [文件路径]、--log-file [文件路径]同时将所有成功/错误消息追加到该文件(纯文本,无颜色代码)。
--version打印已安装版本并退出。
命令说明
scan (--range [IP 范围]) (--intensity [1,2,3])扫描网络中在线主机。启动后应首先执行的操作之一。
--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
速率也可使用 上传/下载 格式(例如 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 [毫秒]) (--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 设置带宽信息刷新间隔(毫秒,默认 500 毫秒)。
例如: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
  • 修复了组合上传+下载限制/阻断在限制拆除时的误报/重复命令错误
  • 修复了 TB 级总量中 ByteValue 的格式化问题
  • CI 在每次推送/PR 时运行测试套件
  • Shell 命令历史跨会话持久化(~/.config/evillimiter/history),可使用 ↑/↓ 导航
  • hosts 表显示受限/被阻断主机分配的速率/方向,而非仅显示"Limited"/"Blocked"
  • scan --intensity [1,2,3] 可在扫描速度与彻底性之间取舍(快速/正常/高强度)
  • auto_scan 配置选项可在启动时自动依次运行 scan 和 hosts
  • monitor 跟踪所有已发现的主机,而不仅限于受限/被阻断的主机
  • limit 接受 上传/下载 速率(例如 200kbit/1mbit),可在一次调用中分别设置上传/下载限制
  • netem [ID] --delay [毫秒] --loss [%] 可对已受限主机模拟数据包延迟/丢包(--clear 可移除)