在两台主机之间生成有限量的随机网络流量

在两台主机之间生成有限量的随机网络流量

我正在尝试寻找一个实用程序,它允许我在 2 个主机之间以指定的速率生成恒定的随机网络流量。该实用程序需要在 Windows 和 OSX 上运行。我尝试过 iperf,但它似乎更适合短期测试/统计,即使在较慢的速率下也会对 CPU 造成负担。我想要一个可以以 10Mbps 的速率生成几周流量的程序,同时我使用其他工具来监控该流量水平对网络的影响。

答案1

使用 ping。您可以编写脚本来运行随机洪水,并执行各种很酷的事情。我不是 MacOS 专家,但我很确定它与 Linux CLI 选项非常相似……

因此,要将端口推至链路速度限制,请运行泛洪 ping(注意,必须以 root 身份执行此操作,我在这里运行了 100,000 个数据包):
$ping -f -c 100000 <destination IP>

答案2

追求简单,尝试网猫

如果你想要生产有限数量,你可以生成一个文件并将其输入到 NC

nc 192.168.0.1 3333 > file.dat

或者,如果你想要使网络饱和,你可以建立一个连接,让 A 和 B 之间相互淹没

在计算机A上

yes AAAAAAAAAAAAAAAAAAAAAA | nc -v -v -l -p 2222 > /dev/null

在另一台计算机上(我们称之为 B)

yes BBBBBBBBBBBBBBBBBBBBBB | nc othermachine 2222 > /dev/null

关于使用 netcat 可以做的事情,有大量的参考资料,我强烈建议您有时间用 google 一下。

答案3

只是想说 Ostinato 可以在 Mac OS X 和 Windows 上运行。

在我的 2.2GHz Core2Duo 上,运行 Windows XP,Ostinato 占用了大约 50% 的 CPU。仅就 Ostinato 而言 - 即使在低速率下也占用那么多 CPU 的原因是为了在存在其他竞争应用程序的情况下保持准确的(读取恒定的数据包间延迟)传输速率。

您也可以尝试 tcpreplay

披露:我是 Ostinato 的开发者

答案4

不幸的是,我没有亲身体验过,但是梅根可能适合。打包ETH很好,但它主要是 Linux(加上 Windows 端口),所以可能不行。

如果这不适合你,列表于肌醇网站可能会有帮助。

相关内容