我记得在 Linux 中(在做 时make menuconfig
)某处有一个选项说这样的话:
仅当您要生成网络流量或要创建错误的网络流量时才使用此选项
不幸的是,我不记得这是在哪里,甚至不记得任何允许我实际创建此类流量的工具。
我追求的是
- 创建错误的 ICMP 数据包
- 注入高延迟或丢包
在一个其他方面都很好的网络上。
目的是测试一些必须使用欧盟和美国之间的链接的应用程序的行为。我想“压力测试”应用程序它将吞下多少延迟或它可以处理多少丢包。
我记得在 Linux 中(在做 时make menuconfig
)某处有一个选项说这样的话:
仅当您要生成网络流量或要创建错误的网络流量时才使用此选项
不幸的是,我不记得这是在哪里,甚至不记得任何允许我实际创建此类流量的工具。
我追求的是
在一个其他方面都很好的网络上。
目的是测试一些必须使用欧盟和美国之间的链接的应用程序的行为。我想“压力测试”应用程序它将吞下多少延迟或它可以处理多少丢包。
Linux 在这里的装备不如FreeBSD好。但是你可以用 tc (package iproute)试试Netem 。
加载网络
在设备 tap0 上丢弃一半的数据包:
您正在考虑的选项是
CONFIG_NET_PKTGEN
.hping允许您生成 TCP、UDP、ICMP 和 RAW-IP 协议数据包。
还有一个叫做scapy的工具。它可以生成几乎任何类型的数据包。正如作者所说:
关于丢包和延迟:
您也可以考虑使用以下组合:
将其与您的应用程序生成的预期流量水平相结合。
您也可以考虑使用PcapPlusPlus。它有一个支持 ICMP 的数据包创建引擎和一种将数据包发送到网络的方法。这是您想要的示例代码(发送高延迟错误的 ICMP 数据包):