我试图find一个实用程序,使我能够以2个主机之间的指定速率生成一个随机networkingstream量的恒定stream量。 该实用程序需要在Windows和OSX上运行。 我尝试过iperf,但它似乎更倾向于短期testing/统计数据,甚至会以较慢的速度对CPU征税。 我希望能够以10Mbps的速度产生数周的stream量,同时我还使用其他工具来监视networking上stream量的影响。
使用ping。 你可以编写脚本来运行随机洪水,并做所有有趣的东西。 我不是一个MacOS专家,但我很确定这是非常相似的Linux CLI选项…
所以推端口的链路速度限制运行一个泛洪ping(注意必须是root做到这一点,我在这里运行我的100,000数据包):
$ping -f -c 100000 <destination IP>
为简单起见,请尝试netcat 。
如果你想开始一个有限的数量,你可以生成一个文件,并将其pipe入NC
nc 192.168.0.1 3333 > file.dat
或者,如果你想饱和你的networking,你可以build立一个连接,将洪水A和B的彼此之间
在电脑上
yes AAAAAAAAAAAAAAAAAAAAAA | nc -v -v -l -p 2222 > /dev/null
在另一台电脑上(我们会打电话给B)
yes BBBBBBBBBBBBBBBBBBBBBB | nc othermachine 2222 > /dev/null
这里有很多关于你可以用netcat做的事情,我强烈build议你在某个时候做一个google。
只是想说,Ostinato可以在Mac OS X和Windows上运行。
在运行Windows XP的2.2GHz Core2Duo上,Ostinato占用CPU的50%左右。 只为Ostinato说话 – 即使在低速率下也需要很多CPU的原因是在其他竞争应用程序存在的情况下保持精确的(读取恒定的数据包间延迟)传输速率。
你也可以尝试tprep
披露:我是Ostinato的开发者
Ostinato可能会为Windows做。 我没有花太多时间,但它看起来很有趣。
不幸的是,我没有第一手的经验,但是MGEN可能适合。 PackETH很好,但主要是Linux(加上Windows端口),所以它可能是没有问题的。
如果这不适合你, D-ITG网站上的列表可能会有所帮助。
只要运行这个脚本…
#!/bin/bash while true; do t=$(($RANDOM%2500 + 500)) b=$(($RANDOM%150 + 50)) ping -c 1 -s $b $1 sleep $(($t/1000)) done