Limitez la bande passante réseau par application sous Mac OS X


37

Je remarque qu'iTunes semble absorber toute ma bande passante et ne fonctionne pas bien avec d'autres applications utilisant le Web lors du téléchargement. En fait, il ne se donne même pas assez de bande passante lors de la navigation sur l'iTunes Store lors du téléchargement de fichiers volumineux (podcasts, émissions de télévision, applications volumineuses, etc.).

Je ne suis pas intéressé à obtenir tous mes téléchargements le plus rapidement possible, ils sont très peu prioritaires et je préférerais ne pas le faire pendant que je suis réveillé, mais je ne peux pas appuyer sur le bouton d'actualisation si je ' Je suis au lit et je l’oublie déjà.

Existe-t-il une application ou un outil via le terminal pour limiter la bande passante de téléchargement obtenue par iTunes sans entraver les navigateurs Web ou d’autres applications?

Le logiciel FOSS / GPL est préférable, mais un logiciel payant pourrait également être acceptable.


1
Network Link Conditioner est très utile pour limiter la bande passante de toutes les applications apple.stackexchange.com/questions/164959/…
Khaled Annajar

Cette question a été largement rendue obsolète pour mon usage particulier. Je télécharge rarement du contenu régulièrement sur iTunes (les podcasts utilisent désormais une application tierce sur iPhone uniquement, AppleTV pour les achats vidéo iTunes et ne synchronise pas du tout les applications sur l'ordinateur).
dotHTM

Réponses:


9

GUI:

CLI (pas de filtrage spécifique au port mais peut être adapté):

Ces outils s'appuient sur les ports ou les plages de ports en tant que critère de filtrage. Si vous ne connaissez pas les ports utilisés par votre application, vous pouvez consulter sa documentation ou l'utiliser lsofpendant le fonctionnement de l'application pour afficher les numéros de ports.

sudo lsof -i -P

La plupart ou la totalité des outils utilisent ipfw, qui est officiellement déconseillé en faveur de pf . Par conséquent, vous ne pouvez pas savoir si ces solutions fonctionneront sous OS X 10.9 ou ultérieur.


5

Vieille question, mais je viens de tomber dans le vif d'un problème similaire et j'ai donc pensé répondre.

En réalité, le problème est probablement dû à la formation de trafic chez votre FAI. Ils hiérarchisent de manière agressive le trafic vers les fournisseurs de contenu connus dans le but de fournir un meilleur service de streaming aux clients. Je dirais qu'ils sont allés un peu trop loin dans certains cas - je viens de diagnostiquer un problème similaire dans lequel un téléchargement de photo en arrière-plan par iCloud provoquait des temps de réponse dépassant 45 000 ms.

Afin de résoudre le problème, vous pouvez simplement réduire la quantité de bande passante totale que votre ordinateur utilisera afin d'empêcher la formation de trafic du fournisseur de services Internet de dérober complètement la bande passante de toutes les autres applications. Ironiquement, cela améliorera les performances de navigation sur votre propre ordinateur, en plus d’améliorer manifestement les performances des autres ordinateurs de votre réseau. Si, par exemple, vous avez un plafond en aval de 15 Mbits / s, vous pouvez limiter votre ordinateur à une utilisation de 12 Mbits / s, et l'algorithme du FAI ne verra plus la nécessité de structurer votre trafic de manière aussi agressive:

sudo ipfw pipe 1 config bw 12Mbits/s
sudo ipfw add 1 pipe 1 tcp from any to me

Dans mon cas, c'était la bande passante en amont (plafonnée à 1 Mbit / s par mon fournisseur d'accès) qui constituait le facteur limitant. J'ai donc exécuté la procédure suivante, ce qui a résolu mon problème:

sudo ipfw pipe 1 config bw 768Kbits/s
sudo ipfw add 1 pipe 1 tcp from me to any

Notez que ces commandes ne seront effectives que jusqu'au redémarrage. Toutefois, pour annuler la règle, procédez comme suit:

ipfw delete 1

Je trouve la page de manuel FreeBSD pour ipfw, mais selon Wikipedia, ipfw était moins accentué dans OS X à partir de 10.4 à 10.5. Je ne trouve pas ipfw sur mon installation de 10.10 aujourd'hui, et Homebrew et MacPorts ne proposent aucune installation activement développée pour ipfw.
dotHTM

2
ipfwa été arrêté en os x, mais il y apf
Chris


4

Utiliser IceFloor sur [Mountain] Lion


Je rejoins cette réponse après avoir découvert qu'IceFloor était davantage centré sur le protocole que sur l'application. Donc, si je veux restreindre une certaine application, c'est difficile.
knocte

Voté parce que l'exploration de IceFloor m'a amené à trouver Vallum, ce qui me permet de bloquer l'accès au réseau par application.
Skplunkerin


2

En ce qui concerne les développements en cours pour OS X 10.10, l' ipfwexécutable communément appelé n'est plus disponible. Cependant, il existe un pfexécutable capable de gérer des configurations de pare-feu similaires.

Il existe une interface graphique appelée "Murus" ( http://www.murusfirewall.com ), que vous pouvez utiliser pour la configuration pf. Autant que je sache, il prend également activement en charge la limitation de bande passante (à partir de l'interface utilisateur).

[MODIFIER]

Au cas où quelqu'un ne pourrait pas s'en passer ipfw, vous pourriez essayer de le compiler vous-même. Le code source (à partir de FreeBSD) est disponible ici: http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/ipfw/

Apple publie également le code source des projets open source qu’il utilise (d). ipfwpeut être trouvé ici: http://www.opensource.apple.com/source/network_cmds/network_cmds-329.2.2/


1
J'ai réussi à configurer Murus pour limiter Skype 8 sur OS X 10.14 Mojave en suivant les instructions ci-dessous: murusfirewall.com/forum/viewtopic.php?t=428
Jon Schneider

1

le filet est ce que vous recherchez.

Les seuls problèmes sont qu’il ne prend pas en charge les exécutables utilisant kqueue et les exécutables liés statiquement. iTunes devrait aller bien.


1
Je ne pouvais pas obtenir de filet 1.0.6 ou 1.0.7 à construire. Après avoir exécuté ./configure, un message d'erreur indiquant que libevent est introuvable s'affiche. J'ai installé libevent via MacPorts et la même erreur s'est produite lorsque j'ai réessayé.
dotHTM le

Les versions @Kio> 1.06 ne sont pas générées en raison de problèmes liés à l'appel à poll(). Les plus âgés devraient toutefois fonctionner.
John T

4
J'ai téléchargé le filet 1.0.5, lancé "$ sudo ./configure" et j'ai obtenu l'erreur suivante comme avant: "configure: error: libevent not found". J'ai vérifié, et MacPorts a libevent installé. En outre, je ne suis pas aussi friands de logiciels qui n'ont pas été mis à jour depuis des années.
dotHTM


0

J'ai récemment découvert (et j'essaie encore) que Vallum contrôle mes applications:

C'est un pare-feu applicatif macOS qui vous permet de limiter les applications pouvant utiliser Internet. Jusqu'à présent, c'est très simple, je viens de créer un profil par défaut qui permet d'accéder à tout ce que je veux, et un profil de point d' accès mobile qui restreint davantage d'applications lorsque je suis en déplacement.


Mise à jour: je n'ai pas été en mesure de "limiter" la bande passante pour les applications utilisant Vallum , mais seulement de configurer différents profils pour lesquels je restreins davantage / moins d'applications.


3
ne semble pas permettre la limitation du tout
GJ.

@GJ. vrai, je n'ai pas été capable de voir cette capacité non plus ... jusqu'à présent, je ne peux laisser qu'une application avoir un accès réseau, ou pas. J'ai mis en place différents profils comme "accélérateurs" pour ma solution de contournement.
skplunkerin

0

Le meilleur moyen de limiter la bande passante sur macOS est d'utiliser Dummynet, qui est intégré au noyau macOS et fonctionne avec le filtre de paquets pf. À mon avis, le seul moyen de régler efficacement la bande passante processus par processus consiste à identifier les ports locaux liés par le processus, puis à créer les règles pf dummynet correspondantes. Pour autant que je sache, la seule application macOS proposant cette option est Scudo (je suis le développeur de Scudo, Vallum et Murus). Scudo 1.0 beta 3 est actuellement disponible gratuitement. Vous trouverez plus d'informations sur le réglage de la bande passante Scudo par processus à l' adresse suivante : http://www.murusfirewall.com/forum/viewtopic.php?f=2&t=1919&p=3281#p3281


J'ai essayé cela et cela semble fonctionner. Ceci est maintenant en version 6 (la version 3 ne fonctionnera plus) - murusfirewall.com/forum/viewtopic.php?f=2&t=1949 J'aime le Moniteur réseau qui vous permet d’ajouter au pare-feu et de limiter la bande passante.
f01
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.