OSX如何随机丢弃数据包

OSX如何随机丢弃数据包

我正在测试我们的一个流媒体应用程序处理数据包丢失的弹性。在 Linux 机器上,我通常使用 iptables 随机丢弃数据包,如下所示:

iptables -A INPUT -m statistic --mode random --probability 0.1 -j DROP

我需要在当前运行 OSX 的服务器上测试这一点。有什么想法可以在 OSX 服务器或 Mac 计算机上随机丢弃数据包吗?

/安迪

答案1

您正在寻找的工具是dnctl。引用手册页:

 plr packet-loss-rate
       Packet loss rate.  Argument packet-loss-rate is a floating-point number between 0 and 1, with 0 meaning no loss, 1 meaning 100% loss.  The loss rate is internally repre-
       sented on 31 bits.

和:

要以 5% 的概率丢弃随机传入的 IPv4 和 IPv6 ICMP 数据包,请创建一个管道:

dnctl pipe 10 config plr 0.05

答案2

Teun Vink 的答案是使用 dnctl,但有点棘手,因为它依赖于一些其他配置。研究这个工具后,我发现Xcode有一个名为的扩展网络链路调节器这更像是一个 GUI 界面,效果非常好。请参阅这里了解使用说明。

对于脚本解决方案,Teun 的方法是正确的。

谢谢!

相关内容