Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
evillimiter — Herramienta que monitorea, analiza y limita el ancho de banda de los dispositivos en la red local sin acceso administrativo. | Kitploit
Herramientas/GitHubGitHub/davidsonrafaelk/evillimiter
Mapeo de RedesEvasión de IDS/IPSRecopilación de InformaciónSeguridad de RedesSeguridad InalámbricaPruebas de PenetraciónRed Teaming
GitHubdavidsonrafaelk/evillimiter

evillimiter

Herramienta que monitorea, analiza y limita el ancho de banda de los dispositivos en la red local sin acceso administrativo.

Ver Repositorio
9106hace 22 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Evil Limiter

Evil Limiter

License Python CI Latest release Last commit GitHub stars

Este proyecto es un fork mantenido de bitbrute/evillimiter. El repositorio original ya no se mantiene, por lo que este fork continúa su desarrollo: corrección de errores, nuevas funciones y actualizaciones de compatibilidad. Consulta Cambios específicos del fork más abajo.

Una herramienta para monitorear, analizar y limitar el ancho de banda (subida/descarga) de los dispositivos de tu red local sin acceso físico ni administrativo.
evillimiter emplea suplantación ARP y modelado de tráfico para limitar el ancho de banda de los hosts de la red. En redes con IPv6 habilitado, se utiliza la suplantación NDP junto con la suplantación ARP para cortar también el tráfico IPv6 de un host, que de otro modo eludiría el límite/bloqueo solo-IPv4.

¿Buscas una versión compatible con Windows?
Consulta la alternativa de código abierto EvilLimiter para Windows.

Ejecuta esto únicamente contra una red que sea tuya o sobre la que tengas permiso por escrito para realizar pruebas. La suplantación ARP y NDP interrumpe el tráfico de otras personas por diseño, y hacerlo en una red que no controlas es ilegal en la mayoría de los lugares.

Contenido

  • Requisitos
  • Instalación
  • Uso
  • Restricciones
  • Cambios específicos del fork
  • Contribuciones

Requisitos

  • Distribución Linux
  • Python 3.9 o superior

Los paquetes de Python que posiblemente falten se instalarán durante el proceso de instalación.

Notas de compatibilidad

evillimiter localiza tc, iptables y sysctl mediante PATH al iniciar y muestra errores claros si falta alguno. Ejecuta específicamente el binario iptables; en distribuciones donde iptables es un shim de compatibilidad iptables-nft esto generalmente funciona, pero un firewall gestionado puramente mediante reglas nft nativas sin shim iptables instalado no es algo con lo que esta herramienta interactúe.

Instalación

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

Ejecútalo con sudo (los sockets crudos, iptables/tc requieren root): es la ejecución la que necesita root, no la instalación:

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

Nota: sudo python3 setup.py install (las instrucciones antiguas) está obsoleto en setuptools modernos y a menudo falla directamente con ModuleNotFoundError: No module named 'setuptools': sudo ejecuta el Python del sistema, que normalmente no tiene setuptools instalado, a diferencia del Python propio del venv que pip gestiona por ti. En distribuciones que aplican PEP 668 (Arch, Debian 12+, ...), instalar fuera de un venv está bloqueado por completo por esta razón.

Alternativamente, puedes descargar una versión deseada desde la página de Releases.

Uso

Escribe evillimiter o python3 bin/evillimiter para ejecutar la herramienta.

evillimiter intentará resolver automáticamente la información requerida (interfaz de red, máscara de red, dirección de puerta de enlace, ...) por sí mismo.

Argumentos de línea de comandos

Archivo de configuración

Cualquiera de las opciones anteriores (excepto -f/--flush, que es una acción de una sola ejecución, no una preferencia persistente) puede tener un valor predeterminado en un archivo ini opcional en ~/.config/evillimiter/config.ini (o $XDG_CONFIG_HOME/evillimiter/config.ini). Una opción de línea de comandos siempre tiene prioridad sobre el archivo de configuración.

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] establece los valores iniciales que normalmente se configuran en tiempo de ejecución mediante watch set interval/watch set range (ver más abajo), para que no sea necesario volver a introducirlos en cada sesión.

auto_scan (opt-in, desactivado por defecto) ejecuta scan y luego hosts automáticamente justo después del inicio, para que no tengas que escribirlos en cada sesión.

Comandos de evillimiter

Restricciones

  • Limita solo el tráfico IPv4, ya que la suplantación ARP requiere el paquete ARP que solo está presente en redes IPv4. En redes con una ruta predeterminada IPv6, el tráfico IPv6 de un host se bloquea por completo mediante suplantación NDP en lugar de limitarse, ya que las reglas tc/iptables que modelan el tráfico son solo-IPv4.
  • La conmutación a datos móviles lo anula. Un teléfono bloqueado/limitado puede simplemente cambiar a LTE/5G una vez que el WiFi se degrada (Android "evitar conexiones deficientes", equivalentes en iOS): ese tráfico nunca toca tu red.
  • Los dispositivos con MAC aleatoria reaparecen como un host nuevo al reconectarse. Muchos teléfonos presentan una MAC diferente por cada unión a la red por defecto, por lo que watch (que empareja por MAC) no puede seguirlos; la restricción antigua queda vinculada a una MAC/IP que ya nadie usa. Dichas direcciones se marcan como (random) en la tabla hosts (su bit de administración local está activado) para que puedas detectar un dispositivo que probablemente reaparezca con una identidad nueva.
  • Las conexiones ya abiertas pueden persistir. Una transmisión/descarga en curso no siempre vuelve a resolver la dirección de la puerta de enlace a mitad de camino, por lo que puede seguir fluyendo con una entrada de caché ARP/NDP obsoleta hasta que se reinicie de forma natural: las conexiones nuevas se capturan de inmediato.
  • Los dispositivos en una subred/VLAN diferente son invisibles. Los sistemas mesh con band-steering que dividen 2.4GHz/5GHz en subredes separadas pueden permitir que un host se desplace fuera del rango IP escaneado por completo.
  • Una segunda ruta de red lo anula. Un dispositivo que también tenga Ethernet (principalmente portátiles, no teléfonos) puede cambiar a ella y terminar en un segmento no afectado.
  • Los switches gestionados con Dynamic ARP Inspection pueden bloquear la suplantación por completo. Irrelevante en routers domésticos típicos, importante en redes corporativas/empresariales.

Cambios específicos del fork

Todo lo siguiente se añadió en este fork, sobre la última versión del upstream (v1.5.0):

  • Suplantación IPv6 (NDP), para que limit/block también cubran el tráfico IPv6 de un host en lugar de solo IPv4
  • Archivo de configuración opcional (~/.config/evillimiter/config.ini) para opciones predeterminadas y configuración de vigilancia
  • -l/--log-file para persistir mensajes ok/error en un archivo
  • Opción --version
  • Respaldo de nombre de host mDNS/NetBIOS/DHCP cuando falla el DNS inverso
  • block ahora también bloquea las cadenas INPUT/OUTPUT (tráfico hacia/desde esta misma máquina), no solo FORWARD
  • watch ahora muestra el estado En línea/Desconectado de cada host vigilado y vigila automáticamente los hosts al ejecutar limit/block

Consulta CHANGELOG para el historial completo de versiones, incluido el del upstream.

Contribuciones

¿Quieres informar de un error, solicitar una función o enviar un pull request? Consulta CONTRIBUTING.md para conocer las reglas sobre cómo presentar issues y abrir PRs. Lee también el Código de Conducta.

Aviso legal

Evil Limiter, creado originalmente por bitbrute y ahora mantenido por DavidsonRafaelK, se proporciona "tal cual" y "con todos sus defectos". Ni el autor original ni el mantenedor actual hacen declaraciones ni garantías de ningún tipo sobre la seguridad, idoneidad, ausencia de virus, inexactitudes, errores tipográficos u otros componentes dañinos de este software. Existen peligros inherentes en el uso de cualquier software, y eres el único responsable de determinar si Evil Limiter es compatible con tu equipo y con el resto del software instalado en él. También eres el único responsable de la protección de tu equipo y de la copia de seguridad de tus datos, y ninguna de las partes será responsable de los daños que puedas sufrir en relación con el uso, modificación o distribución de este software.

Licencia

Copyright (c) 2019-2026 por bitbrute, copyright (c) 2026 por DavidsonRafaelK por los cambios específicos del fork. Algunos derechos reservados.
Evil Limiter está licenciado bajo la Licencia MIT tal como se indica en el archivo LICENSE.

Descargar herramienta
ArgumentoExplicación
-hMuestra el mensaje de ayuda con todos los argumentos de línea de comandos
-i [Nombre de interfaz]Especifica la interfaz de red (se resuelve si no se especifica)
-g [Dirección IP de puerta de enlace]Especifica la dirección IP de la puerta de enlace (se resuelve si no se especifica)
-m [Dirección MAC de puerta de enlace]Especifica la dirección MAC de la puerta de enlace (se resuelve si no se especifica)
-n [Dirección de máscara de red]Especifica la máscara de red (se resuelve si no se especifica)
-fVacía la configuración actual de iptables y tc. Garantiza que los paquetes se gestionen correctamente.
--colorlessDesactiva la salida con colores
-l [Ruta de archivo], --log-file [Ruta de archivo]También añade cada mensaje ok/error a este archivo (texto plano, sin códigos de color).
--versionImprime la versión instalada y sale.
ComandoExplicación
scan (--range [Rango IP]) (--intensity [1,2,3])Escanea tu red en busca de hosts en línea. Una de las primeras cosas que hacer tras el inicio.
--range permite especificar un rango IP personalizado.
--intensity intercambia velocidad por exhaustividad: 1 rápido, 2 normal (predeterminado), 3 intenso (más reintentos/tiempo de espera más largo, útil en redes con pérdidas). Se mantiene hasta que se cambie de nuevo; también se aplica a los escaneos de reconexión en segundo plano de watch.
Por ejemplo: scan --range 192.168.178.1-192.168.178.40 o simplemente scan para escanear toda la subred.
hosts (--force)Muestra todos los hosts/dispositivos previamente escaneados e información básica. Muestra un ID para cada host que es necesario para la interacción.
--force fuerza la visualización de la tabla, incluso cuando no cabe en la terminal.
limit [ID1,ID2,...] [Velocidad] (--upload) (--download)Limita el ancho de banda del/los host(s) asociados al ID especificado. La velocidad determina la velocidad de internet. El/los host(s) se añaden automáticamente a la lista de vigilancia.
--upload limita solo el tráfico saliente.
--download limita solo el tráfico entrante.
Velocidades válidas: bit, kbit, mbit, gbit
La velocidad también puede ser subida/bajada (p. ej. 200kbit/1mbit) para velocidades de subida/descarga independientes: solo válida con ambas direcciones (sin --upload/--download).
Por ejemplo: limit 4,5,6 200kbit o limit all 1gbit o limit 4 200kbit/1mbit
block [ID1,ID2,...] (--upload) (--download)Bloquea la conexión a internet del/los host(s) asociados al ID especificado. El/los host(s) se añaden automáticamente a la lista de vigilancia.
--upload limita solo el tráfico saliente
--download limita solo el tráfico entrante.
netem [ID1,ID2,...] (--delay [ms]) (--loss [%]) (--clear)Emula retardo/pérdida de paquetes en el/los host(s): requiere que el host ya esté limited, ya que se adjunta a la clase tc de limitación de velocidad existente. Se adjunta a la(s) dirección(es) en la(s) que el host esté limitado; no hay una opción de dirección separada.
--clear elimina netem dejando la limitación de velocidad en su lugar.
Por ejemplo: netem 4 --delay 200ms --loss 10% o netem 4 --clear
free [ID1,ID2,...]Quita el límite/bloqueo del/los host(s) asociados al ID especificado. Elimina todas las restricciones adicionales.
add [IP] (--mac [MAC])Añade un host personalizado a la lista de hosts. La dirección MAC se resolverá automáticamente o se puede especificar manualmente.
Por ejemplo: add 192.168.178.24 o add 192.168.1.50 --mac 1c:fc:bc:2d:a6:37
monitor (--interval [tiempo en ms])Monitorea el uso de ancho de banda de cada host descubierto, no solo de los limitados/bloqueados (uso actual, ancho de banda total utilizado, ...).
--interval establece el intervalo tras el cual se actualiza la información de ancho de banda en milisegundos (500ms por defecto).
Por ejemplo: monitor --interval 1000
analyze [ID1,ID2,...] (--duration [tiempo en s])Analiza el tráfico del/los host(s) sin limitar para determinar quién usa cuánto ancho de banda.
--duration especifica la duración del análisis en segundos (30s por defecto).
Por ejemplo: analyze 2,3 --duration 120
watchMuestra el estado actual de vigilancia, incluido el estado En línea/Desconectado de cada host vigilado según el último barrido de escaneo. La función de vigilancia detecta cuando un host se reconecta con una dirección IP diferente.
Los hosts se añaden a la lista de vigilancia automáticamente al ejecutar limit o block.
watch add [ID1,ID2,...]Añade el/los host(s) especificado(s) a la lista de vigilancia.
Por ejemplo: watch add 6,7,8
watch remove [ID1,ID2,...]Elimina el/los host(s) especificado(s) de la lista de vigilancia.
Por ejemplo: watch remove all
watch set [Atributo] [Valor]Cambia la configuración de vigilancia actual. Se pueden cambiar los siguientes atributos:
range es el rango IP a escanear para reconexiones.
interval es el tiempo de espera entre cada escaneo de red (en segundos).
Por ejemplo: watch set interval 120
clearLimpia la ventana de la terminal.
quitSale de la aplicación.
?, helpMuestra información de comandos similar a esta.
  • Seguimiento de hosts basado en dirección MAC en lugar de IP (corrige la detección de reconexión y un error de hash/igualdad)
  • limit/block informan de fallos de tc/iptables en lugar de afirmar silenciosamente el éxito
  • Corregido un error de falso positivo/comando duplicado en el desmontaje de restricciones para límites/bloqueos combinados de subida+descarga
  • Corregido el formato de ByteValue para totales en el rango de terabytes
  • CI que ejecuta la suite de pruebas en cada push/PR
  • Historial de comandos del shell persistente entre sesiones (~/.config/evillimiter/history), navegable con ↑/↓
  • La tabla hosts muestra la velocidad/dirección asignada para hosts limitados/bloqueados, en lugar de solo "Limited"/"Blocked"
  • scan --intensity [1,2,3] para intercambiar velocidad de escaneo por exhaustividad (rápido/normal/intenso)
  • Opción de configuración auto_scan para ejecutar scan y luego hosts automáticamente al inicio
  • monitor rastrea cada host descubierto, no solo los limitados/bloqueados
  • limit acepta velocidades subida/bajada (p. ej. 200kbit/1mbit) para límites de subida/descarga independientes en una sola llamada
  • netem [ID] --delay [ms] --loss [%] para emular retardo/pérdida de paquetes en un host ya limitado (--clear para eliminarlo)