我需要模拟较差的互联网连接速度,我找到了一些使用“ipfw pipe”命令实现该目的的文档,但最新的MAC OS版本中,ipfw已被弃用(并删除)...
我想知道是否有其他替代ipfw API的方法? 有人知道最新的Network Link Conditioner是如何实现的吗?
之前可用于减缓互联网连接速度的原始方法:
sudo ipfw pipe 1 config bw 56Kbit/s delay 200 plr 0.2
并清除管道:
sudo ipfw delete 1
谢谢。
我需要模拟较差的互联网连接速度,我找到了一些使用“ipfw pipe”命令实现该目的的文档,但最新的MAC OS版本中,ipfw已被弃用(并删除)...
我想知道是否有其他替代ipfw API的方法? 有人知道最新的Network Link Conditioner是如何实现的吗?
之前可用于减缓互联网连接速度的原始方法:
sudo ipfw pipe 1 config bw 56Kbit/s delay 200 plr 0.2
并清除管道:
sudo ipfw delete 1
谢谢。
我不太了解Mac OS(我自己使用Linux),但我会尽力帮助。
经过一番搜寻得知,正如你所说,ipfw
似乎无法使用。
我也找不到一种通过命令行使用Network Link Conditioner的方法。一切都应该可以从命令行中使用,所以这很愚蠢。
一个解决方法是尝试从AppleScript中访问NLC。以下内容将为您开始切换NLC:
property thePane : "com.apple.Network-Link-Conditioner"
tell application "System Preferences"
activate
set the current pane to pane id thePane
--delay 2
end tell
---
tell application "System Events"
tell application process "System Preferences"
try
click ((checkboxes of window "Network Link Conditioner") whose description is "enable switch")
on error
click ((checkboxes of window "Network Link Conditioner") whose description is "enable switch")
end try
end tell
end tell
我认为你可以使用osascript <SCRIPT>
命令在终端中执行脚本。
作为替代方案,付费软件Charles Proxy可用于执行限速,前提是你能让被测试的软件连接到代理的端口而不是直接连接到互联网。也许有免费的代理解决方案存在?
或许Squid可以在这方面发挥作用。SquidMan似乎是Mac上安装它的一个简单方法。看起来DelayPools或Client Bandwidth Limits可能有助于模拟低速连接,尽管我找不到人们已经使用它们进行模拟的证据。
我找到了几个可能有效的解决方案。它们来自一些旧的帖子,但它们可能会有所帮助:
有几种方法可以做到这一点,具体取决于您的情况:苹果公司为测试目的制作了一个非常方便的官方工具,可以减缓您的Mac上的网络连接。
网络链接条件首选项是从Xcode(适用于Lion及更高版本的操作系统)中免费下载的。此外,iOS也有类似的功能,可从Xcode和iOS 6或更高版本中访问。
我不知道你是否还能做最后一个。
过去我使用了许多方法来减慢网络连接速度,其中包括:
ifconfig eth0 down ; sleep 1 ; ifconfig eth0 up
命令。希望这些方法中的一个或多个能够帮到您。
open /Library/PreferencePanes/Network Link Conditioner.prefPane
打开NLC首选项窗格,或者从应用程序包中的二进制文件/Applications/System\ Preferences.app/Contents/MacOS/System\ Preferences
打开主系统偏好设置窗格。 - JAL