POUR UN APPAREIL ENRACINÉ (copié de La réponse de Mansour à ce message )
Checkout BradyBound . Il s'agit d'un système de réduction/limitation de la vitesse de téléchargement. Quelques points à noter :
- L'application nécessite un accès Root.
- Il fonctionne en éliminant les paquets en utilisant
iptables
. Cela entraîne un gaspillage de trafic, dont l'ampleur dépend du type de trafic (par exemple, téléchargement de longue durée, navigation sur Internet).
- La mesure du débit se fait par le nombre de paquets au lieu d'octets, la limite de vitesse ne sera donc pas précise.
- Cela ne limite que le trafic TCP (cela n'a aucun sens de laisser tomber les paquets UDP).
Notez également que je suis l'auteur de cette application.
Edit #1 :
Explication :
Les données sont divisées en petites parties appelées Paquets à transmettre sur le réseau.
Il peut être transmis en utilisant TCP (Transmission Control Protocol) o UDP (User Datagram Protocol)
Prenons un exemple :
Supposons que vous êtes le serveur, que je suis l'hôte et que je veux télécharger un fichier. Je vous enverrai d'abord une demande, que vous traiterez ensuite, et au lieu d'envoyer le fichier entier, vous diviserez le gros fichier en petits paquets.
Maintenant, chaque paquet créé contiendra des informations telles que l'adresse IP source (la vôtre) et l'adresse IP destination (la mienne), ainsi que des données supplémentaires (numéro de séquence, taille des données, temps de vie, etc.).
Vous enverrez ces paquets et ils pourront me parvenir via routeurs. Il n'est pas nécessaire que tous les paquets me parviennent par la même route. Ils peuvent m'arriver par différentes routes disponibles.
Quand ils m'atteignent, TCP/UDP entre en scène.
Si vous avez utilisé le protocole TCP pour la transmission, lorsqu'un paquet me parvient, un accusé de réception indiquant que le paquet m'a atteint vous est renvoyé.
Cette fonctionnalité fait défaut à l'UDP. Si vous avez utilisé UDP, contrairement à TCP, il ne vous envoie pas d'accusé de réception. Cela signifie que vous, en tant que serveur, n'avez aucune idée si les paquets me parviennent ou non. S'il est perdu en cours de transmission, il est perdu à jamais.
Abandon de paquets
L'abandon des paquets signifie le rejet des paquets. Ainsi, lorsque j'abandonne le paquet que vous avez envoyé, un accusé de réception vous est envoyé (dans le cas du protocole TCP) pour vous informer que le paquet a été perdu lors de la transmission et que vous devez le renvoyer.
De cette façon, il gaspille du trafic et limite la vitesse en même temps que j'obtiens le fichier entier.
Si je laisse tomber les paquets UDP, je ne recevrai pas le fichier entier. C'est la raison pour laquelle l'application ne contrôle pas le trafic UDP.
Et oui, le privilège Root est indispensable, car iptable n'est accessible qu'avec un accès superutilisateur.