Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
evillimiter — Ferramenta que monitora, analisa e limita a largura de banda de dispositivos na rede local sem acesso administrativo | Kitploit
Ferramentas/GitHubGitHub/davidsonrafaelk/evillimiter
Mapeamento de RedeEvasão de IDS/IPSColeta de InformaçõesSegurança de RedeSegurança Sem FioTestes de PenetraçãoRed Teaming
GitHubdavidsonrafaelk/evillimiter

evillimiter

Ferramenta que monitora, analisa e limita a largura de banda de dispositivos na rede local sem acesso administrativo

Ver Repositório
716há 1 diaAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Evil Limiter

Evil Limiter

License Python CI Latest release Last commit GitHub stars

Este projeto é um fork mantido do bitbrute/evillimiter. O repositório upstream não é mais mantido, portanto este fork dá continuidade ao desenvolvimento — correções de bugs, novos recursos e atualizações de compatibilidade. Consulte Alterações específicas do fork abaixo.

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 utiliza ARP spoofing e traffic shaping para limitar a largura de banda dos hosts na rede. Em redes habilitadas para IPv6, o NDP spoofing é usado em conjunto com o ARP spoofing para também cortar o tráfego IPv6 de um host, que de outra forma contornaria o limite/bloqueio apenas IPv4.

Procurando uma versão compatível com Windows?
Confira a alternativa de código aberto EvilLimiter para Windows.

Execute isso apenas em uma rede que você possua ou para a qual tenha permissão por escrito para testar. O ARP e o NDP spoofing interrompem o tráfego de outras pessoas por design, e fazer isso em uma rede que você não controla é ilegal na maioria dos lugares.

Conteúdo

  • Requisitos
  • Instalação
  • Uso
  • Restrições
  • Alterações específicas do fork
  • Contribuição

Requisitos

  • Distribuição Linux
  • Python 3.9 ou mais recente

Pacotes Python possivelmente ausentes serão instalados durante o processo de instalação.

Notas de compatibilidade

O evillimiter localiza tc, iptables e sysctl via PATH na inicialização e gera erros claros se algum estiver ausente. Ele executa o binário iptables especificamente — em distribuições onde iptables é um shim de compatibilidade iptables-nft isso geralmente funciona, mas um firewall gerenciado puramente por regras nativas nft sem shim iptables instalado não é algo com que esta ferramenta interaja.

Instalação

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

Execute com sudo (raw sockets, iptables/tc exigem root) — é a execução que precisa de root, não a instalação:

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

Nota: sudo python3 setup.py install (as instruções antigas) está obsoleto no setuptools moderno e frequentemente falha diretamente com ModuleNotFoundError: No module named 'setuptools' — o sudo executa o Python do sistema, que normalmente não tem setuptools instalado, ao contrário do Python do venv que o pip gerencia para você. Em distribuições que aplicam o PEP 668 (Arch, Debian 12+, ...), instalar fora de um venv é totalmente bloqueado por esse motivo.

Alternativamente, você pode baixar uma versão desejada na página de Releases.

Uso

Digite evillimiter ou python3 bin/evillimiter para executar a ferramenta.

O evillimiter tentará resolver as informações necessárias (interface de rede, máscara de rede, endereço do gateway, ...) por conta própria, automaticamente.

Argumentos de linha de comando

Arquivo de configuração

Qualquer uma das opções acima (exceto -f/--flush, que é uma ação única, não uma preferência persistida) pode receber um padrão em um arquivo ini opcional em ~/.config/evillimiter/config.ini (ou $XDG_CONFIG_HOME/evillimiter/config.ini). Uma opção de linha de comando sempre substitui o arquivo de configuração.

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] define os valores iniciais normalmente definidos em tempo de execução via watch set interval/watch set range (veja abaixo), para que não precisem ser reinseridos a cada sessão.

auto_scan (opt-in, desativado por padrão) executa scan e depois hosts automaticamente logo após a inicialização, para que você não precise digitá-los a cada sessão.

Comandos do evillimiter

Restrições

  • Limita apenas tráfego IPv4, pois o ARP spoofing exige o pacote ARP que só existe em redes IPv4. Em redes com rota padrão IPv6, o tráfego IPv6 de um host é totalmente bloqueado via NDP spoofing em vez de limitado, já que as regras tc/iptables que moldam o tráfego são apenas IPv4.
  • Fallback celular o anula. Um telefone bloqueado/limitado pode simplesmente alternar para LTE/5G quando o WiFi degrada (Android "evitar conexões ruins", equivalentes iOS) — esse tráfego nunca toca sua rede.
  • Dispositivos com randomização de MAC reaparecem como um novo host na reconexão. Muitos telefones apresentam um MAC diferente por conexão à rede por padrão, então o watch (que corresponde por MAC) não consegue acompanhá-los; a restrição antiga fica vinculada a um MAC/IP que ninguém mais usa. Tais endereços são sinalizados como (random) na tabela hosts (seu bit de administração local está definido) para que você possa identificar um dispositivo que provavelmente reaparecerá sob uma nova identidade.
  • Conexões já abertas podem persistir. Um stream/download em andamento nem sempre re-resolve o endereço do gateway no meio do caminho, então pode continuar fluindo em uma entrada ARP/NDP obsoleta até redefinir naturalmente — novas conexões são capturadas imediatamente.
  • Dispositivos em sub-rede/VLAN diferente são invisíveis. Sistemas mesh com band-steering que dividem 2.4GHz/5GHz em sub-redes separadas podem permitir que um host saia completamente da faixa de IP escaneada.
  • Um segundo caminho de rede o anula. Um dispositivo que também tenha Ethernet (principalmente laptops, não telefones) pode alternar para ela e cair em um segmento intocado.
  • Switches gerenciados com Dynamic ARP Inspection podem bloquear o spoofing diretamente. Irrelevante em roteadores domésticos típicos, importa em redes corporativas/empresariais.

Alterações específicas do fork

Tudo abaixo foi adicionado neste fork, além do último release do upstream (v1.5.0):

  • Spoofing IPv6 (NDP), para que limit/block também cubram o tráfego IPv6 de um host em vez de apenas IPv4
  • Arquivo de configuração opcional (~/.config/evillimiter/config.ini) para opções padrão e configurações de monitoramento
  • -l/--log-file para persistir mensagens de ok/erro em um arquivo
  • Opção --version
  • Fallback de hostname mDNS/NetBIOS/DHCP quando o DNS reverso falha
  • block agora também bloqueia as cadeias INPUT/OUTPUT (tráfego de/para esta própria máquina), não apenas FORWARD
  • watch agora exibe o status Online/Offline de cada host monitorado e monitora automaticamente hosts em limit/block

Consulte CHANGELOG para o histórico completo de versões, incluindo o do upstream.

Contribuição

Quer relatar um bug, solicitar um recurso ou enviar um pull request? Consulte CONTRIBUTING.md para as regras sobre abrir issues e PRs. Leia também o Código de Conduta.

Aviso legal

Evil Limiter — criado originalmente por bitbrute, agora mantido por DavidsonRafaelK — é fornecido "como está" e "com todas as falhas". Nem o autor original nem o mantenedor atual fazem quaisquer declarações ou garantias de qualquer tipo sobre a segurança, adequação, ausência de vírus, imprecisões, erros tipográficos ou outros componentes prejudiciais deste software. Existem perigos inerentes no uso de qualquer software, e você é o único responsável por determinar se o Evil Limiter é compatível com seu equipamento e outros softwares instalados nele. Você também é o único responsável pela proteção do seu equipamento e backup dos seus dados, e nenhuma das partes será responsável por quaisquer danos que você possa sofrer em conexão com o uso, modificação ou distribuição deste software.

Licença

Copyright (c) 2019-2026 por bitbrute, copyright (c) 2026 por DavidsonRafaelK para alterações específicas do fork. Alguns direitos reservados.
Evil Limiter é licenciado sob a Licença MIT conforme declarado no arquivo LICENSE.

Baixar ferramenta
ArgumentoExplicação
-hExibe mensagem de ajuda listando todos os argumentos de linha de comando
-i [Nome da Interface]Especifica a interface de rede (resolvida se não especificada)
-g [Endereço IP do Gateway]Especifica o endereço IP do gateway (resolvido se não especificado)
-m [Endereço MAC do Gateway]Especifica o endereço MAC do gateway (resolvido se não especificado)
-n [Endereço da Máscara]Especifica a máscara de rede (resolvida se não especificada)
-fLimpa a configuração atual de iptables e tc. Garante que os pacotes sejam tratados corretamente.
--colorlessDesativa a saída colorida
-l [Caminho do Arquivo], --log-file [Caminho do Arquivo]Também anexa cada mensagem de ok/erro a este arquivo (texto simples, sem códigos de cor).
--versionExibe a versão instalada e sai.
ComandoExplicação
scan (--range [Faixa de IP]) (--intensity [1,2,3])Escaneia sua rede em busca de hosts online. Uma das primeiras coisas a fazer após iniciar.
--range permite especificar uma faixa de IP personalizada.
--intensity troca velocidade por minúcia: 1 rápido, 2 normal (padrão), 3 intenso (mais tentativas/timeout mais longo, útil em redes com perda de pacotes). Persistente até ser alterado novamente — também se aplica aos escaneamentos de reconexão em segundo plano do watch.
Por exemplo: scan --range 192.168.178.1-192.168.178.40 ou apenas scan para escanear toda a sub-rede.
hosts (--force)Exibe todos os hosts/dispositivos previamente escaneados e informações básicas. Mostra o ID de cada host necessário para interação.
--force força a exibição da tabela, mesmo quando ela não cabe no terminal.
limit [ID1,ID2,...] [Taxa] (--upload) (--download)Limita a largura de banda do(s) host(s) associado(s) ao ID especificado. A taxa determina a velocidade da internet. O(s) host(s) é(são) adicionado(s) automaticamente à lista de monitoramento.
--upload limita apenas o tráfego de saída.
--download limita apenas o tráfego de entrada.
Taxas válidas: bit, kbit, mbit, gbit
A taxa também pode ser up/down (ex.: 200kbit/1mbit) para taxas independentes de upload/download — válida apenas com ambas as direções (sem --upload/--download).
Por exemplo: limit 4,5,6 200kbit ou limit all 1gbit ou limit 4 200kbit/1mbit
block [ID1,ID2,...] (--upload) (--download)Bloqueia a conexão com a internet do(s) host(s) associado(s) ao ID especificado. O(s) host(s) é(são) adicionado(s) automaticamente à lista de monitoramento.
--upload limita apenas o tráfego de saída
--download limita apenas o tráfego de entrada.
netem [ID1,ID2,...] (--delay [ms]) (--loss [%]) (--clear)Simula atraso/perda de pacotes no(s) host(s) — exige que o host já esteja com limit aplicado, pois se anexa à classe tc de limitação de taxa existente. Anexa-se a qualquer direção em que o host esteja limitado; sem opção de direção separada.
--clear remove o netem mantendo a limitação de taxa.
Por exemplo: netem 4 --delay 200ms --loss 10% ou netem 4 --clear
free [ID1,ID2,...]Remove a limitação/bloqueio do(s) host(s) associado(s) ao ID especificado. Remove todas as restrições adicionais.
add [IP] (--mac [MAC])Adiciona host personalizado à lista de hosts. O endereço MAC será resolvido automaticamente ou pode ser especificado manualmente.
Por exemplo: add 192.168.178.24 ou add 192.168.1.50 --mac 1c:fc:bc:2d:a6:37
monitor (--interval [tempo em ms])Monitora o uso de largura de banda de cada host descoberto, não apenas os limitados/bloqueados (uso atual, largura de banda total usada, ...).
--interval define o intervalo após o qual as informações de largura de banda são atualizadas em milissegundos (padrão 500ms).
Por exemplo: monitor --interval 1000
analyze [ID1,ID2,...] (--duration [tempo em s])Analisa o tráfego do(s) host(s) sem limitar para determinar quem usa quanta largura de banda.
--duration especifica a duração da análise em segundos (padrão 30s).
Por exemplo: analyze 2,3 --duration 120
watchExibe o status atual do monitoramento, incluindo o estado Online/Offline de cada host monitorado conforme o último ciclo de escaneamento. O recurso de monitoramento detecta quando um host se reconecta com um endereço IP diferente.
Hosts são adicionados à lista de monitoramento automaticamente após limit ou block.
watch add [ID1,ID2,...]Adiciona o(s) host(s) especificado(s) à lista de monitoramento.
Por exemplo: watch add 6,7,8
watch remove [ID1,ID2,...]Remove o(s) host(s) especificado(s) da lista de monitoramento.
Por exemplo: watch remove all
watch set [Atributo] [Valor]Altera as configurações atuais de monitoramento. Os seguintes atributos podem ser alterados:
range é a faixa de IP a ser escaneada para reconexões.
interval é o tempo de espera entre cada escaneamento de rede (em segundos).
Por exemplo: watch set interval 120
clearLimpa a janela do terminal.
quitSai do aplicativo.
?, helpExibe informações de comandos semelhantes a estas.
  • Rastreamento de hosts baseado no endereço MAC em vez de IP (corrige detecção de reconexão e um bug de hash/igualdade)
  • limit/block relatam falhas de tc/iptables em vez de silenciosamente alegar sucesso
  • Corrigido um bug de falso-positivo/comando duplicado na remoção de restrições para limites/bloqueios combinados de upload+download
  • Corrigida a formatação de ByteValue para totais na faixa de terabytes
  • CI executando a suíte de testes em cada push/PR
  • Histórico de comandos do shell persistido entre sessões (~/.config/evillimiter/history), navegável com ↑/↓
  • A tabela hosts mostra a taxa/direção atribuída para hosts limitados/bloqueados, em vez de apenas "Limited"/"Blocked"
  • scan --intensity [1,2,3] para trocar velocidade de escaneamento por minúcia (rápido/normal/intenso)
  • Opção de configuração auto_scan para executar scan e depois hosts automaticamente na inicialização
  • monitor rastreia cada host descoberto, não apenas os limitados/bloqueados
  • limit aceita taxas up/down (ex.: 200kbit/1mbit) para limites independentes de upload/download em uma única chamada
  • netem [ID] --delay [ms] --loss [%] para simular atraso/perda de pacotes em um host já limitado (--clear para removê-lo)