0 votes

MacOS n'utilise pas mon dummynet configuré.

Je voudrais que tout le trafic UDP sur mon hôte local ait une perte de paquets de 1 % et un délai de propagation de 5 ms. Je pensais pouvoir utiliser le dummynet intégré de MacOS pour cela.

J'ai couru au terminal

sudo dnctl pipe 1 config bw 10Mbit/s delay 5 plr 0.01
echo "dummynet out proto udp from any to any pipe 1" | sudo pfctl -f -

sudo pfctl -sa y sudo dnctl list montrent les résultats attendus (la règle semble avoir été ajoutée).

DUMMYNET RULES:
dummynet out proto udp all pipe 1
    00001:  10.000 Mbit/s    5 ms   50 sl.plr 0.010000 0 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000

Maintenant, je m'attends à ce que tout le trafic udp soit ralenti.

Je développe une application UDP, que je teste sur localhost entre un programme client et un programme serveur. Le trafic UDP n'a manifestement pas de paquets abandonnés, même si j'aimerais simuler 1% de paquets abandonnés.

0voto

Jose Chavez Points 645

Par défaut, pf n'est pas activé sur les MacOS modernes. Vous devez d'abord l'activer en exécutant cette commande :

sudo pfctl -E

Si vous préférez une interface graphique aux interfaces en ligne de commande pour dummynet et pf, vous pouvez utiliser le "Network Link Conditioner" d'Apple à la place.

Vous pouvez le trouver dans le paquet "Additional Tools for Xcode". Si vous avez installé Xcode, vous pouvez le télécharger à partir de Xcode - sinon, vous pouvez le télécharger directement à partir de la page des développeurs d'Apple (il n'est pas nécessaire d'avoir installé Xcode).

Après le téléchargement, vous le trouverez dans le dossier Hardware sous la forme d'un volet de préférences sur lequel vous pouvez double-cliquer pour l'installer.

Dans le volet des préférences, vous pouvez activer/désactiver le conditionneur de lien, choisir l'interface sur laquelle il doit avoir un effet et spécifier ce que vous voulez simuler (comme une bande passante limitée, des paquets abandonnés, des retards, etc).

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