Băng thông mạng cho mỗi ứng dụng trong Mac OS X


37

Tôi nhận thấy rằng iTunes dường như chiếm hết băng thông của tôi và không chơi tốt với các ứng dụng khác sử dụng web khi tải xuống. Trên thực tế, nó thậm chí không tự cung cấp đủ băng thông khi duyệt iTunes Store trong khi tải xuống các tệp lớn hoặc nhiều tệp (podcast, chương trình TV, ứng dụng lớn, v.v.).

Tôi không quan tâm đến việc tải xuống tất cả các bản tải xuống của mình càng sớm càng tốt, chúng thực sự có mức độ ưu tiên thấp và tôi không phải làm điều này trong khi tôi thức, nhưng tôi không thể nhấn nút làm mới nếu tôi m trên giường và quên nó đi

Có ứng dụng hoặc công cụ nào thông qua Terminal để giới hạn băng thông tải xuống mà iTunes có được mà không gây trở ngại cho trình duyệt web hoặc các ứng dụng khác không?

Phần mềm FOSS / GPL là tốt hơn, nhưng phần mềm trả tiền cũng có thể được chấp nhận.


1
Điều kiện liên kết mạng là rất tốt để giới hạn băng thông cho tất cả các ứng dụng apple.stackexchange.com/questions/164959/ory
Khaled Annajar

Câu hỏi này phần lớn đã trở nên lỗi thời đối với việc sử dụng cụ thể của tôi. Tôi hiếm khi tải xuống nội dung trong iTunes một cách thường xuyên (podcast hiện chỉ sử dụng ứng dụng của bên thứ ba trên iPhone, AppleTV để mua video trên iTunes và hoàn toàn không đồng bộ hóa ứng dụng với máy tính).
dotHTM

Câu trả lời:


9

GUI:

CLI (không có bộ lọc dành riêng cho cổng nhưng có thể được điều chỉnh):

Các công cụ này dựa trên các cổng hoặc phạm vi cổng như một tiêu chí lọc. Nếu bạn không biết ứng dụng của mình sử dụng cổng nào, bạn có thể kiểm tra tài liệu của nó hoặc sử dụng lsoftrong khi ứng dụng đang chạy để tiết lộ số cổng.

sudo lsof -i -P

Hầu hết hoặc tất cả các công cụ đều sử dụng ipfw , chính thức không dùng nữa cho pf , vì vậy không chắc chắn các giải pháp này có hoạt động trên OS X 10.9 hay không.


5

Câu hỏi cũ, nhưng tôi chỉ gặp phải một vấn đề tương tự nên tôi nghĩ tôi sẽ trả lời.

Vấn đề có thể thực sự là do lưu lượng truy cập tại ISP của bạn. Họ tích cực ưu tiên lưu lượng truy cập cho các nhà cung cấp nội dung đã biết trong nỗ lực cung cấp dịch vụ phát trực tuyến tốt hơn cho khách hàng. Tôi cho rằng họ đã đi quá xa trong một số trường hợp - Tôi vừa chẩn đoán một vấn đề tương tự khi tải lên ảnh iCloud nền gây ra thời gian ping vượt quá 45000 ms.

Để giải quyết vấn đề, bạn chỉ cần giảm tổng lượng băng thông mà máy tính của bạn sẽ sử dụng để ngăn chặn hình dạng lưu lượng truy cập của ISP khỏi cướp hoàn toàn băng thông từ tất cả các ứng dụng khác. Trớ trêu thay, điều này sẽ cải thiện hiệu suất duyệt trên máy tính của bạn, ngoài ra rõ ràng là cải thiện hiệu suất cho các máy tính khác trong mạng của bạn. Ví dụ: nếu bạn có giới hạn hạ lưu 15Mb / giây, bạn có thể giới hạn máy tính của mình chỉ sử dụng 12Mb / giây và thuật toán ISP sẽ không còn cần phải định hình lưu lượng truy cập của bạn một cách mạnh mẽ:

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

Trong trường hợp của tôi, băng thông ngược dòng (được giới hạn ở mức 1Mb / giây bởi ISP của tôi) là yếu tố giới hạn, vì vậy tôi đã chạy như sau, giải quyết vấn đề của tôi:

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

Lưu ý rằng các lệnh này sẽ chỉ có hiệu lực cho đến khi khởi động lại, nhưng để hủy quy tắc, chỉ cần làm như sau:

ipfw delete 1

Tôi tìm thấy trang man FreeBSD cho ipfw, nhưng theo Wikipedia, ipfw đã được nhấn mạnh trong OS X bắt đầu từ 10,4 đến 10,5. Tôi không tìm thấy ipfw trên bản cài đặt 10.10 của mình ngày hôm nay và cả Homebrew và MacPorts đều không có cài đặt được phát triển tích cực cho ipfw.
dotHTM

2
ipfwđã ngừng hoạt động trong os x, nhưng cópf
Chris


4

Sử dụng IceFloor trên [Núi] Lion


Tôi đánh giá thấp câu trả lời này sau khi phát hiện ra IceFloor tập trung vào giao thức hơn là tập trung vào ứng dụng. Vì vậy, nếu tôi muốn hạn chế chỉ một ứng dụng nhất định, thật khó.
knocte

Được khuyến khích vì việc khám phá IceFloor đã khiến tôi tìm thấy Vallum, cho phép tôi chặn truy cập mạng trên mỗi ứng dụng.
skplunkerin

2

Đây là một suy nghĩ thực sự đồi trụy, nhưng bạn có thể sử dụng ipfw và dummynet tích hợp của Mac OS X để viết các quy tắc để làm điều này. Xem các trang người đàn ông cho các công cụ.


Một video về một người nào đó làm điều đó trên OSX: youtube.com/watch?v=VgwR230coOw
Giáo sư Falken hỗ trợ Monica

2

Liên quan đến các phát triển hiện tại cho OS X 10.10, ipfwthực thi thường được đề cập, không còn có sẵn. Tuy nhiên, có một pftệp thực thi, có thể xử lý các cấu hình tường lửa tương tự.

Có một giao diện GUI được gọi là "Murus" ( http://www.murusfirewall.com ), mà bạn có thể sử dụng để định cấu hình pf. Theo tôi hiểu, nó cũng tích cực hỗ trợ giới hạn băng thông (từ UI).

[CHỈNH SỬA]

Trong trường hợp ai đó không thể đi mà không có ipfw, bạn có thể cố gắng tự biên dịch nó. Mã nguồn (từ FreeBSD) có sẵn tại đây: http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/ipfw/

Apple cũng xuất bản mã nguồn của các dự án nguồn mở mà nó sử dụng (d). ipfwcó thể tìm thấy ở đây: http://www.opensource.apple.com/source/network_cmds/network_cmds-329.2.2/


1
Tôi đã thành công có thể định cấu hình Murus để điều chỉnh Skype 8 trên OS X 10.14 Mojave bằng cách sử dụng các hướng dẫn tại đây: murusfirewall.com/forum/viewtopic.php?t=428
Jon Schneider

1

nhỏ giọt là những gì bạn đang theo đuổi.

Vấn đề duy nhất là nó không hỗ trợ các tệp thực thi sử dụng kqueue và nó không hỗ trợ các tệp thực thi được liên kết tĩnh. iTunes sẽ ổn thôi.


1
Tôi không thể lấy nhỏ giọt 1.0.6 hoặc 1.0.7 để xây dựng. Sau khi chạy ./mình tôi nhận được một lỗi nói rằng không thể tìm thấy libevent. Tôi đã cài đặt libevent qua MacPorts và gặp lỗi tương tự khi tôi thử lại.
dotHTM

Phiên bản @Kio> 1.06 không được xây dựng do sự cố với lệnh gọi đến poll(). Những người lớn tuổi hơn nên làm việc.
John T

4
Tôi đã tải xuống nhỏ giọt 1.0.5, chạy "$ sudo ./cool" và gặp lỗi sau giống như trước: "configure: error: libevent không tìm thấy". Tôi đã kiểm tra và MacPorts đã cài đặt sẵn. Ngoài ra, tôi không thích phần mềm chưa được cập nhật trong nhiều năm.
dotHTM


0

Gần đây tôi đã tìm thấy (và vẫn đang dùng thử) Vallum có quyền kiểm soát các ứng dụng của mình:

Đó là Tường lửa ứng dụng macOS cho phép bạn hạn chế những ứng dụng nào có thể sử dụng internet. Cho đến nay, nó thực sự khó khăn, tôi chỉ tạo một Hồ sơ mặc định cho phép mọi thứ tôi muốn có quyền truy cập và Hồ sơ Hotspot di động hạn chế nhiều ứng dụng hơn khi tôi đang di chuyển.


Cập nhật: Tôi chưa thể "điều tiết" băng thông cho các ứng dụng bằng cách sử dụng Vallum , chỉ thiết lập các cấu hình khác nhau trong đó tôi hạn chế nhiều / ít ứng dụng hơn.


3
dường như không cho phép điều tiết ở tất cả
GJ.

@GJ. đúng, tôi cũng không thể thấy khả năng đó ... cho đến nay tôi chỉ có thể để một ứng dụng có quyền truy cập mạng hoặc không. Tôi đã thiết lập các cấu hình khác nhau dưới dạng "throttles" để khắc phục điều này.
skplunkerin

0

Cách tốt nhất để tăng tốc băng thông trên macOS là sử dụng Dummynet, được tích hợp vào nhân macOS và hoạt động với bộ lọc gói pf. Theo tôi, cách duy nhất để điều chỉnh hiệu quả băng thông trên cơ sở từng quy trình là xác định cổng cục bộ nào bị ràng buộc bởi quy trình và sau đó tạo quy tắc dfnet pf tương ứng. Theo như tôi biết thì ứng dụng macOS duy nhất cung cấp tùy chọn này là Scudo (Tôi là nhà phát triển của Scudo, Vallum và Murus). Scudo 1.0 beta 3 hiện có sẵn miễn phí, thông tin thêm về điều chỉnh băng thông theo quy trình Scudo có thể được tìm thấy tại đây: http://www.murusfirewall.com/forum/viewtopic.php?f=2&t=1919&p=3281#p3281


Tôi đã thử điều này và nó dường như làm việc. Đây là phiên bản beta 6 (beta 3 sẽ không hoạt động nữa) - murusfirewall.com/forum/viewtopic.php?f=2&t=1949 Tôi thích Network Monitor cho phép bạn thêm vào tường lửa và thực hiện điều chỉnh băng thông.
f01
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.