微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux:包重新sorting模拟

我想模拟Linux上的UDP数据包重sorting,以测量我的应用程序的性能和容错能力。 有一个简单的方法来做到这一点?

为什么arp忽略/ annouce认是不启用的

如何将Python应用程序移植到在Windows中正常工作的Linux

是否有可能获得另一台Linux机器的iSCSI启动器IQN?

蓝牙错误:本地库bluecove_arm不可用

platform.system和platform.linux_distribution究竟输出了什么?

看看WANEM

因此,WANem允许应用程序开发团队设置一个透明的应用程序网关,可用于模拟广域网的特性,如网络延迟,数据包丢失,数据包损坏,断开连接,数据包重新排序,抖动等。

您可以使用内核内置的“netem”功能。 它是与大多数现代发行。 netem是一个流量控制学科模块,故意延迟,丢弃和重新排序数据包,并且高度可配置。

这只适用于发送数据包(因为队列只是出站的),所以你可能希望在两台测试机器之间放置一个netem的路由器主机,并且在两个接口上运行netem(如果你喜欢的话有不同的参数)。

实现这一目标的最简单方法是在VM中运行netem以在两个VM网络之间路由。 我发现这很方便。

你可以试试scapy 。 这是一个操作数据包的Python库。 你可以使用tcpdump ,wireshark捕获一个pcap会话,然后用scapy以任意顺序重放捕获的数据包。

a=rdpcap("/spare/captures/isakmp.cap") for pkt in a.reverse(): sendp(pkt)

取决于你如何捕捉你可能需要发送的数据包(第3层)而不是sendp(第2层)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐