web-dev-qa-db-fra.com

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

Je remarque que iTunes semble absorber toute ma bande passante et ne joue pas avec Nice 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 peut aussi être acceptable.

36
dotHTM

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 utiliser lsof pendant l'exécution 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 , donc vous ne savez pas si ces solutions fonctionneront sous OS X 10.9 et ultérieur.

8
Stefan Schmidt

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

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 photos 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 voler 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 FAI) 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
5
John Mileham

Utilisez IceFloor sur le lion [de montagne]

4
GJ.

Que diriez-vous de waterroof ? C'est une interface facile pour IPFW. (Et open source.)

4
Ben Chun

En ce qui concerne les développements en cours pour OS X 10.10, l'exécutable ipfw communément désigné n'est plus disponible. Cependant, il existe un exécutable pf qui peut 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 configurer pf. Autant que je sache, il prend également activement en charge la limitation de bande passante (à partir de l'interface utilisateur).

[EDIT]

Si quelqu'un ne peut pas se passer de ipfw, vous pouvez essayer de le compiler vous-même. Le code source (sous 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). ipfw peut être trouvé ici: http://www.opensource.Apple.com/source/network_cmds/network_cmds-329.2.2/

2
Chris

C'est une pensée très perverse, mais vous pourrez peut-être utiliser les fonctions ipfw et dummynet intégrées de Mac OS X pour écrire des règles à cette fin. Voir les pages de manuel pour ces outils.

2
Spiff

http://github.com/zquestz/throttled C'est peut-être ce que vous cherchez si vous ne l'avez pas encore trouvé.

1
Robbie

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
John T

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

0
Hany El Imam

J'ai récemment découvert (et toujours en cours de test) Vallum le contrôle de mes applications:

C'est un pare-feu applicatif macOS qui vous permet de limiter les applications pouvant utiliser Internet. Jusqu'à présent, c'est vraiment lisse, je viens de créer un profil par défaut qui autorise tout ce que je veux avoir accès, ainsi qu'un profil de point d'accès mobile qui restreint davantage des 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 , uniquement la configuration de différents profils pour lesquels je restreins davantage/moins d'applications.

0
skplunkerin