Evillimiter 是一款用于限制和监视连接到网络的设备带宽的工具,无需物理或管理访问权限。以下是关于它的详细介绍:
功能特点:
核心技术:利用 ARP 欺骗和流量整形技术。ARP 欺骗使其能伪装成网络中的网关,拦截并控制数据包;流量整形则可精确设定每个设备的带宽上限。
监控网络流量:能自动扫描网络中的在线主机,显示主机的详细信息,如 IP 地址、MAC 地址等,并实时监控局域网内设备的上传 / 下载速率。
灵活限速:可以针对特定 IP 地址的设备设定上下行带宽,实现对其网络速度的控制,还能单独限制上传或下载带宽。
阻断网络连接:可选择性地阻断特定主机的上传或下载流量,甚至完全阻断其网络连接。故障排查:能够模拟网络拥塞情况,帮助诊断网络问题。
自动配置:能自动获取网络接口、网关地址和子网掩码等信息,方便用户使用。
命令行界面:提供丰富的命令选项,方便用户进行灵活操作。例如,“scan” 用于扫描网络中的在线设备;“hosts” 显示之前扫描的所有主机 / 设备及基本信息,并为每个主机显示交互所需的 ID;“limit” 用于限制指定 ID 主机的带宽;“block” 用于阻止指定 ID 主机的网络连接;“free” 则解除对指定 ID 主机的限制。
应用场景:
家庭网络:防止某个设备过度占用带宽,影响其他设备的正常使用,保障家庭成员都能有较好的网络体验。
教育和研究环境:可用于模拟低带宽网络条件下的性能测试,帮助研究人员了解网络在不同带宽限制下的运行情况。
安全测试和渗透测试:安全专家利用该工具模拟攻击情景,检验网络防御系统的有效性和稳定性,评估不同条件下网络服务的响应情况,以提高整个系统的安全性。
不过,Evillimiter 也存在一定限制,它只能针对 IPv4 设备限速,对 IPv6 设备无效。
要求:
kali 最新版
Linux 发行版
Python 3 或更高版本
安装过程中可能会安装缺少的 python 包。
安装:
git clone https://github.com/bitbrute/evillimiter.git
cd evillimiter
sudo python3 setup.py install
用法:
键入evillimiter或python3 bin/evillimiter来运行该工具。
evillimiter将尝试自动解析所需信息(网络接口、网络掩码、网关地址等)。
命令行参数:
代码 解释
-h 显示列出所有命令行参数的帮助消息
-f 刷新当前 iptables 和 tc 配置。确保数据包得到正确处理。
-i [Interface Name] 指定网络接口(如果未指定则解析)
-g [Gateway IP Address] 指定网关 IP 地址(如果未指定则解析)
-m [Gateway MAC Address] 指定网关 MAC 地址(如果未指定则解析)
-n [Netmask Address] 指定网络掩码(如果未指定则解析)
–colorless 禁用彩色输出
evillimiter命令:
命令 解释
scan (–range [IP Range]) 扫描您的网络以查找在线主机。启动后要做的第一件事之一。
–range 允许您指定自定义 IP 范围。
例如:scan –range 192.168.178.1-192.168.178.40或者只是scan扫描整个子网。
hosts (–force) 显示之前扫描的所有主机/设备及其基本信息。显示交互所需的每个主机的 ID。
–force 强制显示表格,即使它不适合终端。
limit [ID1,ID2,…] [Rate] (–upload) (–download) 限制与指定 ID 关联的主机的带宽。速率决定互联网速度。
–upload 仅限制传出流量。仅限制传入
–download 流量。有效
速率:bit,,,,例如:或kbitmbitgbit
limit 4,5,6 200kbitlimit all 1gbit
block [ID1,ID2,…] (–upload) (–download) 阻止与指定 ID 关联的主机的互联网连接。
–upload 仅限制传出流量 或 –download 仅限制传入流量。
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 [time in ms]) 监控有限主机的带宽使用情况(当前使用情况、使用的总带宽……)。
–interval 设置带宽信息刷新后的间隔(以毫秒为单位)(默认为 500 毫秒)。
例如:monitor –interval 1000
analyze [ID1,ID2,…] (–duration [time in s]) 分析主机流量,不受限制,以确定谁使用了多少带宽。
–duration 指定分析的持续时间(以秒为单位)(默认为 30 秒)。
例如:analyze 2,3 –duration 120
watch 显示当前监视状态。监视功能可检测主机何时使用不同的 IP 地址重新连接。
watch add [ID1,ID2,…] 将指定主机添加到监视列表。
例如:watch add 6,7,8
watch remove [ID1,ID2,…] 从监视列表中删除指定的主机。
例如:watch remove all
watch set [Attribute] [Value] 更改当前监视设置。可以更改以下属性:
range 是扫描重新连接的 IP 范围。
interval 是每次网络扫描之间等待的时间(以秒为单位)。
例如:watch set interval 120
clear 清除终端窗口。
quit 退出应用程序。
?,help 显示与此类似的命令信息。
限制:
仅限制 IPv4 连接,因为ARP 欺骗需要仅存在于 IPv4 网络上的 ARP 数据包。
@7sirCN论坛