
EvilLimiter Next Generation: monitore, analise e limite a largura de banda

Uma ferramenta para monitorar, analisar e limitar a largura de banda (upload/download) de dispositivos na sua rede local sem acesso físico ou administrativo.
evillimiter-ng emprega ARP spoofing e traffic shaping para limitar a largura de banda dos hosts na rede.
Novo na versão 3.0: Use o código como uma biblioteca em vez de uma CLI
Pacotes Python possivelmente ausentes serão instalados durante o processo de instalação.
pip install evillimiter-ng
Página do EvilLimiter-NG no AUR
Usando o AUR, o pacote pode ser instalado manualmente:
git clone https://aur.archlinux.org/evillimiter-ng.git
cd evillimiter-ng
makepkg -si
Ou usando auxiliares do AUR:
# Usando KPA (https://github.com/KevinCrrl/kpa)
kpa Ins evillimiter-ng
# Ou usando yay (https://github.com/Jguer/yay)
yay -S evillimiter-ng
Aprenda a usar a API da biblioteca para seus próprios projetos, escreva menos código, aproveite a arquitetura baseada em listas de IPs com IDs atribuídos e encontre mais usos para o código além do programa de terminal: Documentação da biblioteca
Após a instalação, você pode começar a usar a ferramenta com o seguinte fluxo de trabalho básico.
evillimiter-ng -i wlan0
scan
limit 3 200kbit
# Escaneie a rede, liste os hosts, bloqueie todos por 20 segundos e depois restaure a conexão.
echo "scan && hosts && block all && sleep 20 && free all && exit" | evillimiter-ng
# Escaneie a rede e salve os resultados em um arquivo JSON codificado em base64
scan && export-json my_network.json
Com isso, você pode restaurar esses resultados sem um novo escaneamento em uma sessão futura:
import-json my_network.json
🛑 AVISO DE SEGURANÇA CRÍTICO
Base64 NÃO é criptografia (como PGP). Ele apenas ofusca dados sensíveis (IPs locais, endereços MAC) para que não fiquem visíveis a olho nu. Qualquer usuário ou programa pode facilmente decodificar este arquivo.
- Permissões: O arquivo é protegido contra leitura e escrita (somente root) para evitar corrupção.
- Risco: Mesmo que um usuário malicioso obtenha acesso root, ele não pode descriptografar o que nunca foi criptografado, mas pode ler, corromper ou destruir as informações. Não confie neste arquivo para confidencialidade.
evillimiter-ngVocê pode usar o comando -h para ver o menu de ajuda geral; além disso, cada comando tem um submenu gerado pelo argparse, você pode ver a ajuda para eles digitando:
>>> <COMMAND_NAME> -h
Por exemplo:
>>> scan -h
usage: scan [-h] [-r RANGE] [-i INTENSITY]
options:
-h, --help show this help message and exit
-r, --range RANGE
-i, --intensity INTENSITY
# Outro exemplo:
>>> 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 tabela mostra todos os comandos disponíveis:
Por favor, leia o aviso legal completo aqui:
Copyright (c) 2026 by KevinCrrl.
Licenciado sob a Licença GPL-2.0-only.
Para uma lista detalhada dos autores originais, dependências e suas respectivas licenças, consulte o arquivo CREDITS.
| Argumento | Explicação |
|---|
-h | Exibe a mensagem de ajuda listando todos os argumentos de linha de comando |
-s | Habilita um modo shell para digitar comandos e oculta banners e elementos chamativos |
-i [Interface Name] | Especifica a interface de rede (resolvida se não especificada) |
-g [Gateway IP Address] | Especifica o endereço IP do gateway (resolvido se não especificado) |
-m [Gateway MAC Address] | Especifica o endereço MAC do gateway (resolvido se não especificado) |
-n [Netmask Address] | Especifica a máscara de rede (resolvida se não especificada) |
| Comando | Explicação |
|---|
scan (--range [IP Range]) (--intensity [(1,2,3)]) | Escaneia sua rede em busca de hosts online. Uma das primeiras coisas a fazer após iniciar.--range permite especificar um intervalo de IP personalizado.--intensity permite especificar a intensidade / velocidade do escaneamento (1 = rápido, 2 = normal (padrão), 3 = intenso).Exemplo: scan --range 192.168.178.1-192.168.178.40 --intensity 1 ou apenas scan. |
hosts | Exibe todos os hosts escaneados e informações básicas. |
limit [ID1,ID2,...] [Rate] (--upload) (--download) | Limita a largura de banda do(s) host(s) associado(s) ao ID especificado. |
block [ID1,ID2,...] (--upload) (--download) | Bloqueia a conexão de internet do(s) host(s). |
free [ID1,ID2,...] | Remove as restrições de largura de banda. |
add [IP] (--mac [MAC]) | Adiciona um host personalizado manualmente. |
monitor (--with-id [ID1,ID2,...]) (--interval [time in ms]) | Monitora o uso de largura de banda do(s) host(s). |
analyze [ID1,ID2,...] (--duration [time in s]) | Analisa o uso de tráfego. |
watch | Mostra o status atual do monitoramento. |
watch add [ID1,ID2,...] | Adiciona host(s) à lista de monitoramento. |
watch remove [ID1,ID2,...] | Remove host(s) da lista de monitoramento. |
watch set [Attribute] [Value] | Altera as configurações de monitoramento. |
clear | Limpa a janela do terminal. |
exit | Encerra a aplicação. |
sleep | Aguarda segundos. |
-h, --help | Exibe a ajuda do comando. |
import-json, export-json [JSON_FILE_PATH] | Importa/Exporta um arquivo JSON contendo endereços IP e endereços MAC codificados em base64. |