2009-06-05 80 views

回答

11

它是你想测试的速度变化吗?或者访问每种技术?

如果速度很快,那么您可以使用以下ipfw技巧,Icon Icon的Craig Hockenberry,使用ipfw限制与给定域的连接。在这个例子中,它是twitter,它限制了与主机之间的所有连接的速度。

这是一个bash脚本,如果你在做iPhone开发,你将会在Mac上创建并在终端中运行。

#!/bin/bash 

# configuration 
host="twitter.com" 

# usage 
if [ "$*" == "" ]; then 
    echo "usage: $0 [off|fast|medium|slow]" 
    exit 
fi 

# remove any previous firewall rules 
sudo ipfw list 10 > /dev/null 2>&1 
if [ $? -eq 0 ]; then 
    sudo ipfw delete 10 > /dev/null 2>&1 
fi 
sudo ipfw list 11 > /dev/null 2>&1 
if [ $? -eq 0 ]; then 
    sudo ipfw delete 11 > /dev/null 2>&1 
fi 

# process the command line option 
if [ "$1" == "off" ]; then 
    # add rules to deny any connections to configured host 
    sudo ipfw add 10 deny tcp from $host to me 
    sudo ipfw add 11 deny tcp from me to $host 
else 
    # create a pipe with limited bandwidth 
    bandwidth="100Kbit" 
    if [ "$1" == "fast" ]; then 
     bandwidth="300Kbit" 
    elif [ "$1" == "slow" ]; then 
     bandwidth="10Kbit" 
    fi 
    sudo ipfw pipe 1 config bw $bandwidth 

    # add rules to use bandwidth limited pipe 
    sudo ipfw add 10 pipe 1 tcp from $host to me 
    sudo ipfw add 11 pipe 1 tcp from me to $host 
fi 
+0

有没有人有这项工作在雪豹? – 2009-10-07 00:44:55

0

您可以把您的机场关闭:-)

要精确控制测试没有网络,尼尔的IPFW的建议是最好的方式。

4

您可能想看看SpeedLimit, OS X的首选面板,它允许您限制带宽和控制延迟。

1

如果你有iPhone绑定,你可以关闭你的电缆调制解调器/ ASDL连接,并通过你的iPhone路由你的互联网。如果您的运营商是AT & T,此方法非常有效。如果您没有AT & T作为您的运营商,则必须尝试使用​​其他方法之一来模拟糟糕的连接。

另一种低保真解决方案是将家用无线路由器包裹在锡箔中,或放入金属盒中。你想要模拟的通常是一个糟糕的连接 - 而不是一个缓慢的连接。防火墙规则会减慢连接速度,但不会丢失随机数据包。

既然你在Mac上,你可以使用Dummynet。这插入ipfw,但也可以模拟丢包。这里是一个典型的Dummynet模块ipfw:

ipfw add 400 prob 0.05 deny sr-ip 10.0.0.0/8 
+0

我不得不为SnowLeopard调整这一点:ipfw添加400概率0.05下降ip从任何到2美元 – pendor 2011-01-23 02:09:42

相关问题