Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
evillimiter — Outil qui surveille, analyse et limite la bande passante des appareils sur le réseau local sans accès administratif. | Kitploit
Outils/GitHubGitHub/davidsonrafaelk/evillimiter
Cartographie RéseauÉvasion IDS/IPSCollecte d'InformationsSécurité RéseauSécurité Sans FilTests d'IntrusionRed Teaming
GitHubdavidsonrafaelk/evillimiter

evillimiter

Outil qui surveille, analyse et limite la bande passante des appareils sur le réseau local sans accès administratif.

Voir le dépôt
721il y a 1 jourPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Evil Limiter

Evil Limiter

License Python CI Latest release Last commit GitHub stars

Ce projet est un fork maintenu de bitbrute/evillimiter. Le dépôt en amont n'est plus maintenu, ce fork poursuit donc le développement — corrections de bugs, nouvelles fonctionnalités et mises à jour de compatibilité. Voir Modifications spécifiques au fork ci-dessous.

Un outil pour surveiller, analyser et limiter la bande passante (téléchargement/envoi) des appareils de votre réseau local sans accès physique ou administratif.
evillimiter utilise l'empoisonnement ARP et la régulation de trafic pour limiter la bande passante des hôtes du réseau. Sur les réseaux compatibles IPv6, l'empoisonnement NDP est utilisé en complément de l'empoisonnement ARP pour également couper le trafic IPv6 d'un hôte, qui contournerait sinon la limite/blocage limité à l'IPv4.

Vous cherchez une version compatible Windows ?
Consultez l'alternative open source EvilLimiter pour Windows.

N'utilisez cet outil que sur un réseau dont vous êtes propriétaire ou pour lequel vous avez une autorisation écrite de test. L'empoisonnement ARP et NDP perturbe volontairement le trafic d'autrui, et l'utiliser sur un réseau que vous ne contrôlez pas est illégal dans la plupart des pays.

Sommaire

  • Prérequis
  • Installation
  • Utilisation
  • Restrictions
  • Modifications spécifiques au fork
  • Contribuer

Prérequis

  • Distribution Linux
  • Python 3.9 ou plus récent

Les paquets Python éventuellement manquants seront installés pendant le processus d'installation.

Notes de compatibilité

evillimiter localise tc, iptables et sysctl via PATH au démarrage et signale clairement une erreur si l'un d'eux manque. Il fait appel au binaire iptables spécifiquement — sur les distributions où iptables est un shim de compatibilité iptables-nft, cela fonctionne généralement, mais un pare-feu géré uniquement via des règles nft natives sans shim iptables installé n'est pas pris en charge par cet outil.

Installation

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

Exécutez-le avec sudo (les sockets bruts, iptables/tc nécessitent les droits root) — c'est l'exécution qui nécessite root, pas l'installation :

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

Remarque : sudo python3 setup.py install (les anciennes instructions) est obsolète dans les setuptools modernes et échoue souvent avec ModuleNotFoundError: No module named 'setuptools' — sudo exécute le Python système, qui n'a généralement pas setuptools installé, contrairement au Python du venv géré par pip. Sur les distributions qui appliquent la PEP 668 (Arch, Debian 12+, ...), l'installation hors venv est entièrement bloquée pour cette raison.

Vous pouvez également télécharger une version souhaitée depuis la page des versions.

Utilisation

Tapez evillimiter ou python3 bin/evillimiter pour exécuter l'outil.

evillimiter tentera de résoudre automatiquement les informations requises (interface réseau, masque de sous-réseau, adresse de passerelle, ...).

Arguments de ligne de commande

Fichier de configuration

Chacun des indicateurs ci-dessus (sauf -f/--flush, qui est une action ponctuelle et non une préférence persistante) peut recevoir une valeur par défaut dans un fichier ini optionnel situé à ~/.config/evillimiter/config.ini (ou $XDG_CONFIG_HOME/evillimiter/config.ini). Un argument de ligne de commande a toujours priorité sur le fichier de configuration.

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] définit les valeurs initiales normalement configurées à l'exécution via watch set interval/watch set range (voir ci-dessous), afin de ne pas avoir à les ressaisir à chaque session.

auto_scan (optionnel, désactivé par défaut) exécute scan puis hosts automatiquement juste après le démarrage, pour éviter de les taper à chaque session.

Commandes evillimiter

Restrictions

  • Limite uniquement le trafic IPv4, car l'empoisonnement ARP nécessite le paquet ARP qui n'existe que sur les réseaux IPv4. Sur les réseaux avec une route par défaut IPv6, le trafic IPv6 d'un hôte est entièrement bloqué via l'empoisonnement NDP plutôt que limité, car les règles tc/iptables qui régulent le trafic sont limitées à l'IPv4.
  • Le basculement cellulaire le contourne. Un téléphone bloqué/limité peut simplement passer en LTE/5G une fois le WiFi dégradé (Android « éviter les connexions de mauvaise qualité », équivalents iOS) — ce trafic ne touche jamais votre réseau.
  • Les appareils à adresse MAC aléatoire réapparaissent comme un nouvel hôte à la reconnexion. De nombreux téléphones présentent une adresse MAC différente à chaque connexion réseau par défaut, donc watch (qui fait correspondre par MAC) ne peut pas les suivre ; l'ancienne restriction reste liée à une MAC/IP que plus personne n'utilise. Ces adresses sont signalées comme (aléatoire) dans le tableau hosts (leur bit d'administration locale est défini) pour repérer un appareil susceptible de réapparaître sous une nouvelle identité.
  • Les connexions déjà ouvertes peuvent traîner. Un flux/téléchargement en cours ne re-résout pas toujours l'adresse de la passerelle en plein vol, il peut donc continuer à circuler sur une entrée de cache ARP/NDP obsolète jusqu'à sa réinitialisation naturelle — les nouvelles connexions sont interceptées immédiatement.
  • Les appareils sur un sous-réseau/VLAN différent sont invisibles. Les systèmes maillés avec répartition de bande qui séparent 2,4 GHz/5 GHz sur des sous-réseaux distincts peuvent laisser un hôte sortir entièrement de la plage IP analysée.
  • Un second chemin réseau le contourne. Un appareil disposant également d'une connexion Ethernet (principalement les ordinateurs portables, pas les téléphones) peut basculer dessus et atterrir sur un segment non touché.

Modifications spécifiques au fork

Tout ce qui suit a été ajouté dans ce fork, en plus de la dernière version en amont (v1.5.0) :

  • Empoisonnement IPv6 (NDP), pour que limit/block couvrent également le trafic IPv6 d'un hôte au lieu de seulement l'IPv4
  • Fichier de configuration optionnel (~/.config/evillimiter/config.ini) pour les indicateurs par défaut et les paramètres de surveillance
  • -l/--log-file pour consigner les messages ok/erreur dans un fichier
  • Indicateur --version
  • Repli sur les noms d'hôte mDNS/NetBIOS/DHCP lorsque le DNS inverse échoue
  • block bloque désormais aussi les chaînes INPUT/OUTPUT (trafic vers/depuis la machine elle-même), pas seulement FORWARD
  • watch affiche désormais l'état En ligne/Hors ligne de chaque hôte surveillé et surveille automatiquement les hôtes lors d'un limit/block

Voir CHANGELOG pour l'historique complet des versions, y compris celui de l'amont.

Contribuer

Vous souhaitez signaler un bug, demander une fonctionnalité ou soumettre une pull request ? Consultez CONTRIBUTING.md pour les règles concernant le dépôt de problèmes et l'ouverture de PR. Veuillez également lire le Code de conduite.

Avertissement

Evil Limiter — créé à l'origine par bitbrute, désormais maintenu par DavidsonRafaelK — est fourni « tel quel » et « avec tous ses défauts ». Ni l'auteur original ni le mainteneur actuel ne font de déclarations ou de garanties d'aucune sorte concernant la sécurité, l'adéquation, l'absence de virus, les inexactitudes, les erreurs typographiques ou d'autres composants nuisibles de ce logiciel. L'utilisation de tout logiciel comporte des dangers inhérents, et vous êtes seul responsable de déterminer si Evil Limiter est compatible avec votre équipement et les autres logiciels installés sur votre équipement. Vous êtes également seul responsable de la protection de votre équipement et de la sauvegarde de vos données, et aucune des parties ne sera tenue responsable des dommages que vous pourriez subir en lien avec l'utilisation, la modification ou la distribution de ce logiciel.

Licence

Copyright (c) 2019-2026 par bitbrute, copyright (c) 2026 par DavidsonRafaelK pour les modifications spécifiques au fork. Certains droits réservés.
Evil Limiter est sous licence MIT comme indiqué dans le fichier LICENSE.

Télécharger l’outil
ArgumentExplication
-hAffiche le message d'aide listant tous les arguments de ligne de commande
-i [Nom de l'interface]Spécifie l'interface réseau (résolue si non spécifiée)
-g [Adresse IP de la passerelle]Spécifie l'adresse IP de la passerelle (résolue si non spécifiée)
-m [Adresse MAC de la passerelle]Spécifie l'adresse MAC de la passerelle (résolue si non spécifiée)
-n [Adresse du masque]Spécifie le masque de sous-réseau (résolu si non spécifié)
-fVide la configuration iptables et tc actuelle. Garantit que les paquets sont traités correctement.
--colorlessDésactive la sortie colorée
-l [Chemin du fichier], --log-file [Chemin du fichier]Ajoute également chaque message ok/erreur à ce fichier (texte brut, sans codes de couleur).
--versionAffiche la version installée puis quitte.
CommandeExplication
scan (--range [Plage IP]) (--intensity [1,2,3])Analyse votre réseau à la recherche d'hôtes en ligne. L'une des premières choses à faire après le démarrage.
--range permet de spécifier une plage IP personnalisée.
--intensity fait un compromis entre vitesse et exhaustivité : 1 rapide, 2 normal (par défaut), 3 intense (plus de nouvelles tentatives/délai d'attente plus long, utile sur les réseaux avec pertes). Persistant jusqu'à modification — s'applique également aux analyses de reconnexion en arrière-plan de watch.
Par exemple : scan --range 192.168.178.1-192.168.178.40 ou simplement scan pour analyser tout le sous-réseau.
hosts (--force)Affiche tous les hôtes/appareils précédemment analysés et leurs informations de base. Affiche l'ID de chaque hôte nécessaire pour interagir.
--force force l'affichage du tableau, même s'il ne tient pas dans le terminal.
limit [ID1,ID2,...] [Débit] (--upload) (--download)Limite la bande passante du/des hôte(s) associé(s) à l'ID spécifié. Le débit détermine la vitesse Internet. Le(s) hôte(s) est/sont automatiquement ajouté(s) à la liste de surveillance.
--upload limite uniquement le trafic sortant.
--download limite uniquement le trafic entrant.
Débits valides : bit, kbit, mbit, gbit
Le débit peut aussi être up/down (ex. 200kbit/1mbit) pour des débits d'envoi/téléchargement indépendants — valide uniquement avec les deux directions (sans --upload/--download).
Par exemple : limit 4,5,6 200kbit ou limit all 1gbit ou limit 4 200kbit/1mbit
block [ID1,ID2,...] (--upload) (--download)Bloque la connexion Internet du/des hôte(s) associé(s) à l'ID spécifié. Le(s) hôte(s) est/sont automatiquement ajouté(s) à la liste de surveillance.
--upload limite uniquement le trafic sortant
--download limite uniquement le trafic entrant.
netem [ID1,ID2,...] (--delay [ms]) (--loss [%]) (--clear)Simule un délai/des pertes de paquets sur le(s) hôte(s) — nécessite que l'hôte soit déjà limité, car cela s'attache à la classe tc de limitation existante. S'attache aux directions dans lesquelles l'hôte est limité ; pas d'indicateur de direction séparé.
--clear supprime netem tout en conservant la limitation de débit.
Par exemple : netem 4 --delay 200ms --loss 10% ou netem 4 --clear
free [ID1,ID2,...]Lève la limitation/le blocage du/des hôte(s) associé(s) à l'ID spécifié. Supprime toutes les restrictions supplémentaires.
add [IP] (--mac [MAC])Ajoute un hôte personnalisé à la liste des hôtes. L'adresse MAC sera résolue automatiquement ou peut être spécifiée manuellement.
Par exemple : add 192.168.178.24 ou add 192.168.1.50 --mac 1c:fc:bc:2d:a6:37
monitor (--interval [temps en ms])Surveille l'utilisation de la bande passante de chaque hôte découvert, pas seulement ceux limités/bloqués (utilisation actuelle, bande passante totale utilisée, ...).
--interval définit l'intervalle de rafraîchissement des informations de bande passante en millisecondes (500 ms par défaut).
Par exemple : monitor --interval 1000
analyze [ID1,ID2,...] (--duration [temps en s])Analyse le trafic du/des hôte(s) sans le(s) limiter pour déterminer qui utilise quelle bande passante.
--duration spécifie la durée de l'analyse en secondes (30 s par défaut).
Par exemple : analyze 2,3 --duration 120
watchAffiche l'état actuel de la surveillance, y compris l'état En ligne/Hors ligne de chaque hôte surveillé selon la dernière analyse. La fonction de surveillance détecte quand un hôte se reconnecte avec une adresse IP différente.
Les hôtes sont ajoutés automatiquement à la liste de surveillance lors d'un limit ou block.
watch add [ID1,ID2,...]Ajoute le(s) hôte(s) spécifié(s) à la liste de surveillance.
Par exemple : watch add 6,7,8
watch remove [ID1,ID2,...]Retire le(s) hôte(s) spécifié(s) de la liste de surveillance.
Par exemple : watch remove all
watch set [Attribut] [Valeur]Modifie les paramètres de surveillance actuels. Les attributs suivants peuvent être modifiés :
range est la plage IP à analyser pour détecter les reconnexions.
interval est le temps d'attente entre chaque analyse réseau (en secondes).
Par exemple : watch set interval 120
clearEfface la fenêtre du terminal.
quitQuitte l'application.
?, helpAffiche des informations sur les commandes similaires à celles-ci.
  • Les commutateurs gérés avec Dynamic ARP Inspection peuvent bloquer l'empoisonnement. Sans effet sur les routeurs domestiques typiques, mais pertinent sur les réseaux d'entreprise.
  • Suivi des hôtes basé sur l'adresse MAC plutôt que l'IP (corrige la détection de reconnexion et un bug de hash/égalité)
  • limit/block signalent les échecs tc/iptables au lieu de prétendre silencieusement avoir réussi
  • Correction d'un bug de faux positif/commande en double dans le démontage des restrictions pour les limites/blocages combinés envoi+téléchargement
  • Correction du formatage ByteValue pour les totaux dans la plage des téraoctets
  • CI exécutant la suite de tests à chaque push/PR
  • Historique des commandes shell conservé entre les sessions (~/.config/evillimiter/history), navigable avec ↑/↓
  • Le tableau hosts affiche le débit/direction assigné pour les hôtes limités/bloqués, au lieu de simplement « Limited »/« Blocked »
  • scan --intensity [1,2,3] pour faire un compromis entre vitesse d'analyse et exhaustivité (rapide/normal/intense)
  • Option de configuration auto_scan pour exécuter scan puis hosts automatiquement au démarrage
  • monitor suit chaque hôte découvert, pas seulement ceux limités/bloqués
  • limit accepte les débits up/down (ex. 200kbit/1mbit) pour des limites d'envoi/téléchargement indépendantes en un seul appel
  • netem [ID] --delay [ms] --loss [%] pour simuler un délai/des pertes de paquets sur un hôte déjà limité (--clear pour le supprimer)