
EvilLimiter Next Generation: monitoriza, analiza y limita el ancho de banda

Una herramienta para monitorear, analizar y limitar el ancho de banda (subida/bajada) de los dispositivos en tu red local sin acceso físico ni administrativo.
evillimiter-ng emplea ARP spoofing y traffic shaping para limitar el ancho de banda de los hosts en la red.
Nuevo en la versión 3.0: Usa el código como una biblioteca en lugar de una CLI
Los paquetes de Python que posiblemente falten se instalarán durante el proceso de instalación.
pip install evillimiter-ng
Página de EvilLimiter-NG en AUR
Usando AUR, el paquete se puede instalar manualmente:
git clone https://aur.archlinux.org/evillimiter-ng.git
cd evillimiter-ng
makepkg -si
O usando asistentes de AUR:
# Usando KPA (https://github.com/KevinCrrl/kpa)
kpa Ins evillimiter-ng
# O usando yay (https://github.com/Jguer/yay)
yay -S evillimiter-ng
Aprende a usar la API de la biblioteca para tus propios proyectos, escribe menos código, aprovecha la arquitectura basada en listas de IPs con IDs asignados y encuentra más usos para el código más allá del programa de terminal: Documentación de la biblioteca
Después de la instalación, puedes empezar a usar la herramienta con el siguiente flujo de trabajo básico.
evillimiter-ng -i wlan0
scan
limit 3 200kbit
# Escanea la red, lista los hosts, bloquea a todos durante 20 segundos y luego restaura la conexión.
echo "scan && hosts && block all && sleep 20 && free all && exit" | evillimiter-ng
# Escanea la red y guarda los resultados en un archivo JSON codificado en base64
scan && export-json my_network.json
Con él, puedes restaurar estos resultados sin un nuevo escaneo en una sesión futura:
import-json my_network.json
🛑 ADVERTENCIA DE SEGURIDAD CRÍTICA
Base64 NO es cifrado (como PGP). Solo ofusca datos sensibles (IPs locales, direcciones MAC) para que no sean visibles a simple vista. Cualquier usuario o programa puede decodificar este archivo fácilmente.
- Permisos: El archivo está protegido contra lectura y escritura (solo root) para prevenir corrupción.
- Riesgo: Incluso si un usuario malicioso obtiene acceso root, no puede descifrar lo que nunca fue cifrado, pero puede leer, corromper o destruir la información. No confíes en este archivo para confidencialidad.
evillimiter-ngPuedes usar el comando -h para ver el menú de ayuda general; además, cada comando tiene un submenú generado por argparse, puedes ver la ayuda de estos escribiendo:
>>> <COMMAND_NAME> -h
Por ejemplo:
>>> scan -h
usage: scan [-h] [-r RANGE] [-i INTENSITY]
options:
-h, --help show this help message and exit
-r, --range RANGE
-i, --intensity INTENSITY
# Otro ejemplo:
>>> 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
Esta tabla muestra todos los comandos disponibles:
Por favor, lee el aviso legal completo aquí:
Copyright (c) 2026 por KevinCrrl.
Licenciado bajo la Licencia GPL-2.0-only.
Para una lista detallada de autores originales, dependencias y sus respectivas licencias, consulta el archivo CREDITS.
| Argumento | Explicación |
|---|
-h | Muestra el mensaje de ayuda listando todos los argumentos de línea de comandos |
-s | Habilita un modo shell para escribir comandos y oculta banners y elementos llamativos |
-i [Interface Name] | Especifica la interfaz de red (se resuelve si no se especifica) |
-g [Gateway IP Address] | Especifica la dirección IP de la puerta de enlace (se resuelve si no se especifica) |
-m [Gateway MAC Address] | Especifica la dirección MAC de la puerta de enlace (se resuelve si no se especifica) |
-n [Netmask Address] | Especifica la máscara de red (se resuelve si no se especifica) |
| Comando | Explicación |
|---|
scan (--range [IP Range]) (--intensity [(1,2,3)]) | Escanea tu red en busca de hosts en línea. Una de las primeras cosas que hacer después de iniciar.--range te permite especificar un rango de IP personalizado.--intensity te permite especificar la intensidad / velocidad del escaneo (1 = rápida, 2 = normal (estándar), 3 = intensa).Ejemplo: scan --range 192.168.178.1-192.168.178.40 --intensity 1 o simplemente scan. |
hosts | Muestra todos los hosts escaneados e información básica. |
limit [ID1,ID2,...] [Rate] (--upload) (--download) | Limita el ancho de banda del/los host(s) asociados con el ID especificado. |
block [ID1,ID2,...] (--upload) (--download) | Bloquea la conexión a internet del/los host(s). |
free [ID1,ID2,...] | Elimina las restricciones de ancho de banda. |
add [IP] (--mac [MAC]) | Añade un host personalizado manualmente. |
monitor (--with-id [ID1,ID2,...]) (--interval [time in ms]) | Monitorea el uso de ancho de banda del/los host(s). |
analyze [ID1,ID2,...] (--duration [time in s]) | Analiza el uso del tráfico. |
watch | Muestra el estado actual de vigilancia. |
watch add [ID1,ID2,...] | Añade host(s) a la lista de vigilancia. |
watch remove [ID1,ID2,...] | Elimina host(s) de la lista de vigilancia. |
watch set [Attribute] [Value] | Cambia la configuración de vigilancia. |
clear | Limpia la ventana de la terminal. |
exit | Sale de la aplicación. |
sleep | Espera segundos. |
-h, --help | Muestra la ayuda del comando. |
import-json, export-json [JSON_FILE_PATH] | Importa/Exporta un archivo JSON que contiene direcciones IP y direcciones MAC codificadas en base64. |