macos 本身不提供图形化流量整形功能,但可通过 network link conditioner(全局限速)、pfctl + dummynet(进程级限速)、throttled(动态应用限速)及 netman/little snitch(监控与间接限速)四种方式实现带宽限制与弱网模拟。

macOS 本身不提供图形化界面的流量整形(Traffic Shaping)功能,但系统内建了足够底层的能力,配合命令行工具或轻量级第三方应用,可以实现上行/下行带宽限制、按应用限速、甚至模拟弱网环境。关键在于选对方法——不是所有场景都需要复杂配置,有些只需启用一个开关就能满足需求。
用 Network Link Conditioner 模拟限速(适合测试与临时使用)
这是 Apple 官方提供的开发工具,集成在 Xcode 的附加组件中,操作最简单,适合快速验证应用在网络受限下的表现。
- 先安装 Xcode 命令行工具和 “Additional Tools for Xcode”,然后在
/Applications/Xcode.app/Contents/Developer/Applications/找到并打开 Network Link Conditioner - 启用开关后,选择预设(如 “Very Bad Network”)即可生效;如需自定义,点 “Custom”,分别设置 Input Bandwidth(下载)和 Output Bandwidth(上传)单位为 KB/s
- 注意:该工具作用于整个系统网络栈,无法区分具体应用,且重启后默认关闭
用 pfctl + dummynet 实现进程级限速(无需第三方,但需写规则)
macOS 内置的 pf 防火墙支持基于 UID 或进程名匹配流量,并通过 dummynet 内核模块做带宽整形。这是真正意义上的“按应用限速”,适合有明确目标(如限制某视频软件上传)的用户。
- 先加载内核模块:
sudo sysctl net.inet.ip.dummynet.load=1 - 创建规则文件(例如
/etc/pf.traffic.shaper),用match uid或match process匹配目标程序,再绑定 dummynet queue 限速 - 加载并启用:
sudo pfctl -f /etc/pf.traffic.shaper && sudo pfctl -e - 用
sudo pfctl -s queue查看实时速率,确认是否命中规则
用 Throttled 工具动态管理应用带宽(推荐长期使用)
Throttled 是专为 macOS 设计的开源进程级限速器,支持按 PID 或进程名实时调整上下行速率,配置后可随系统启动自动运行,比手动写 pf 规则更友好。
- 通过 Homebrew 安装:
brew install throttled - 编辑配置文件
~/Library/Application Support/throttled/config.json,添加类似{"name": "Safari", "upload_kbps": 512, "download_kbps": 2048}的条目 - 启动服务:
brew services start throttled,它会自动监听新进程并应用策略 - 支持热重载配置,修改后无需重启服务
用 netman 或 Little Snitch 辅助监控与间接限速
这两款工具本身不直接做流量整形,但能帮你精准识别“谁在吃带宽”,再配合其他方法定向处理。netman 提供系统级带宽上限设定和恶意连接告警;Little Snitch 则可通过延迟注入(Delay Rule)让特定连接变慢,达到类似限速的效果。
- netman 支持图形化设置全局上传/下载上限,适合防止后台更新抢带宽
- Little Snitch 的 Delay Rule 可对某域名或端口加固定延迟(如 500ms),虽非严格限速,但能有效抑制高吞吐协议(如 HTTP 大文件下载)的速率
- 两者都提供实时连接视图,是排查异常流量的首选入口
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!









