169 votes

Comment simuler des connexions Internet lentes sur le Mac ?

Quelle est une bonne solution logicielle pour ralentir les connexions Internet sur le Mac pour les tests et les simulations ?

J'ai surtout besoin de tester du code dans le simulateur iPhone/iOS, donc ralentir la connexion pour des applications ou des processus spécifiques serait génial.

11voto

ubershmekel Points 303

Les utilisateurs de Mac OS X 10.10+ doivent utiliser dnctl y pfctl mais les exemples d'utilisation documentés ne sont pas faciles à trouver.

# Configure `pfctl` to use `customRule`. 
(cat /etc/pf.conf && echo "dummynet-anchor \"customRule\"" && echo "anchor \"customRule\"") | sudo pfctl -f -

# Define `customRule` to pipe traffic to `pipe 1`.
# Note this is the actual port definition, not a textual comment
echo "dummynet in quick proto tcp from any to any port 443 pipe 1" | sudo pfctl -a customRule -f -

# Define what `pipe 1` should do to traffic
sudo dnctl pipe 1 config delay 10000
sudo dnctl pipe 1 config bw 10Kbit/s

# DO NOT FORGET to undo these when you're done
sudo dnctl -q flush
sudo pfctl -f /etc/pf.conf

Si vous voulez aller jusqu'au bout et façonner tout ce que vous pouvez utiliser :

echo "dummynet in quick proto tcp from any to any pipe 1" | sudo pfctl -a customRule -f -

Je crois que cela affecte également les tuyaux localhost, ce qui a ralenti le débogage de mon vs-code, alors faites attention à cela.

0 votes

J'avais besoin de courir sudo pfctl -E d'abord pour activer pfctl. Je me suis également assuré que mon pare-feu était activé dans Préférences système > Sécurité et confidentialité > Pare-feu, mais je ne suis pas sûr que cela soit nécessaire.

5voto

Vineeth Kada Points 21

J'ai trouvé cette commande de terminal utile dans mon cas

Installation :

Ouvrez le terminal Mac et tapez cette commande

sudo npm install @sitespeed.io/throttle -g

Utilisation :

Ouvrez le terminal et tapez la commande requise

Lancez l'accélérateur (Supposons que nous voulons que les vitesses d'upload et de download soient de 5000kbps).

throttle --up 5000 --down 5000

Arrêt de l'accélérateur

throttle --stop

Il existe également des profils préétablis

--profile         Premade profiles, set to one of the following
                     3g: up:768 down:1600 rtt:150
                     3gfast: up:768 down:1600 rtt:75
                     3gslow: up:400 down:400 rtt:200
                     2g: up:256 down:280 rtt:400
                     cable: up:1000 down:5000 rtt:14
                     dsl: up:384 down:1500 rtt:14
                     3gem: up:400 down:400 rtt:200
                     4g: up:9000 down:9000 rtt:85
                     lte: up:12000 down:12000 rtt:35
                     edge: up:200 down:240 rtt:35
                     dial: up:30 down:49 rtt:60
                     fois: up:5000 down:20000 rtt:2

Utilisation des profils

throttle 4g

4voto

daviesgeek Points 35275

Vous pouvez également utiliser le piping ipfw pour ralentir votre réseau.

Tout d'abord, configurez un "tuyau" virtuel pour limiter le débit à 800KBit/sec :

ipfw pipe 1 config bw 800Kbit

Vous pouvez ensuite configurer des règles pour faire passer le trafic par ce tuyau (tuyau 1). (les ports 6881-6890 étant le trafic bittorrent)

ipfw add 10 pipe 1 tcp from any to me 6881-6890
ipfw add 11 pipe 1 tcp from any 6881-6890 to me

Voici un autre exemple pour limiter le trafic à 10Kbit/sec à partir d'une adresse IP spécifique :

ipfw pipe 2 config bw 10Kbit
ipfw add 15 pipe 2 ip from me to 64.81.84.114

<a href="http://www.askbjoernhansen.com/2004/09/22/mini_tutorial_f.html" rel="nofollow">(Source)</a>

0 votes

Ipfw a été supprimé dans OSX 10.10

0voto

Dans XCode 12, vous devez installer Additional Tools for XCode 12 au lieu de Hardware IO Tools.

0 votes

Merci. J'ai nettoyé certains commentaires qui avaient l'ancien nom - est cette réponse correspond essentiellement à ce que vous pensez être correct ?

-1voto

Kiran Jasvanee Points 99

Pour XCode 10.2, dans More developer tools - Additional Tools for XCode 10.2, vous trouverez Network Link Conditioner.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X