【问题标题】:simulating packet losses and delays programmatically以编程方式模拟数据包丢失和延迟
【发布时间】:2011-07-27 07:05:27
【问题描述】:

我有一个通过 rpc 公开其服务的服务器和一个使用这些服务的客户端。为了测试这个设置,我需要引入数据包丢失和延迟。我在 stackoverflow 上发现了一些技术,例如 tc、修改 iptables 等,但它们都需要 root 密码来模拟丢包。有没有一种方法可以在不需要 root 密码的情况下模拟这些数据包丢失。

注意:代码是用GO编程语言编写的

【问题讨论】:

  • 既然可以在移动 GSM / 3G 网络上运行它,为什么还要模拟它? ;-)
  • 短时间拔掉网线。
  • 顺便说一句,我最近发现这有时被称为“Fuzzing”,并且可以使用称为“Fuzzers”的设备和软件以有用的方式修改/破坏网络流量。在某些情况下,它们有点聪明,会故意创建几乎正确的数据,例如重复的数据包,或从旧数据包中混合的语法有效信息,等等。

标签: networking rpc go packets


【解决方案1】:

一种方法是隔离您的数据包处理代码,并创建它的模拟版本(或 ifdef'd 部分),以便进行测试,以您选择的方式行为不端。

这可能足以满足您的需求。

对于工业强度测试,对于商业或关键应用程序,您至少需要一个具有 root 密码的盒子。 :) 或许还有更奇特的测试设备,它们可能会以更奇特的方式出现异常。

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多