寻找替代解决方案而不是IPFW来减缓互联网连接

时间:2015-10-11 11:15:36

标签: ios macos network-connection ipfw

我需要放慢速度(模拟坏)互联网连接,我找到了一些通过“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

感谢。

4 个答案:

答案 0 :(得分:3)

我对Mac OS(我自己使用Linux)了解不多,但我会给出一个机会。

正如你所说,一堆挖掘确定ipfw似乎不可用。

我也无法从命令行中找到使用网络链接调节器的方法。一切都应该可以在命令行中使用,这样就太蠢了。

一种解决方法是尝试从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可能对模拟低速连接很有用,但我无法找到人们使用它们的证据。

答案 1 :(得分:0)

我找到了几种可行的解决方案。它们来自一些旧线程,但它们可能有所帮助:

How to simulate slow internet connections on the mac

  

Apple提供了一个非常方便的官方工具来减慢Mac上的网络连接以进行测试。

     

网络链接调节器首选项是从Xcode(适用于Lion和更高版本的操作系统)中免费下载的。此外,iOS具有类似的功能,可从Xcode和iOS 6或更高版本中访问。

How do I simulate a bad Wi-Fi connection on my iPad?

  

根据您的具体情况,有几种方法可以做到这一点:

     
      
  1. 进一步远离路由器。虽然这看起来有点明显,但我发现在测试/调试时并不总是可行(例如,如果你正在研究台式电脑)。

  2.   
  3. 在路由器和/或天线周围放置铝箔。这将通过创建一个临时的法拉第笼来(部分地)阻挡部分或全部无线电信号。您获得的结果将取决于路由器信号的强度,与路由器的距离以及其他环境因素。

  4.   
  5. 将路由器的无线信号功率设置为较低的设置。每个路由器执行此操作的方法不同,因此您必须查看用户指南以获取有关如何使用的说明这样做。

  6.   

Slow down internet for iOS simulator

  

您可以通过在设备上进行测试来将网络设置为降低特性。转到设置 - &gt;开发者设置 - &gt;网络链接调节器 - &gt;启用。这适用于运行iOS 6的iPhone / iPad

我不知道你还能做到最后一个。

答案 2 :(得分:0)

我过去曾使用过很多方法来减慢网络连接速度,其中包括:

  • 执行一些大规模Linux ISO文件的并行下载;
  • 从物理上拉出以太网电缆(有一点,我实际上已经想到了构建一个位于两根cat5电缆之间的按钮设备的想法,而无需在物理上断开整根电缆的连接。)
  • 使用ifconfig eth0 down ; sleep 1 ; ifconfig eth0 up

希望其中一种或多种方法有所帮助。

答案 3 :(得分:0)

如果您正在寻找减慢网络连接的速度,因为您正在进行测试/分析工作,那么可以选择使用可能会产生网络延迟/噪音的特定设备。

例如,Apposite Tech的mini2 WAN仿真器允许您更改带宽和数据包丢失的值。您也可以使用以下内容滚动自己的设备:http://wanem.sourceforge.net/。这取决于您的需求,时间和预算。