【问题标题】:How can I simulate TCP/IP errors?如何模拟 TCP/IP 错误?
【发布时间】:2010-01-23 00:22:22
【问题描述】:

在多层应用程序上,我需要模拟各种 TCP/IP 错误来测试一些重新连接代码。有谁知道我可以为此目的使用的任何工具(基于 Windows)?谢谢。

【问题讨论】:

  • 在这里得到了一些很好的答案。一旦我可以尝试这些,我会尽快回复。谢谢大家。

标签: windows network-programming tcp multi-tier


【解决方案1】:

Scapy 允许您控制数据包的各个方面,并随机修改(“模糊”)您不想控制的数据包。如果您是命令行型的人,那么它是一个很棒的工具。

【讨论】:

    【解决方案2】:

    试试netwox(以前的 lcrzoex。)如果它不这样做,它就无法完成。它包含超过 200 个工具。

    【讨论】:

    • 这让我可以最快地找到我需要的东西。谢谢。
    • 网站已关闭,但这里有一个墓地下载页面:ntwox.sourceforge.net
    【解决方案3】:

    到目前为止,在 FreeBSD 上,最好的工具是 dummynet,“一个最初设计用于测试网络协议的工具,从那时起用于包括带宽管理在内的各种应用程序。它模拟/强制执行队列和带宽限制,延迟、数据包丢失和多路径效应。”

    在 Linux 上,您必须使用 netem。 (现在好像有一个dummynet的端口,但我没试过。)

    更多详情(法语)my article

    【讨论】:

    • 不幸的是,这些都不起作用,因为我们是一家 Windows 商店,我没有时间尝试移植它们。不过谢谢。
    【解决方案4】:

    Clumsy是Windows上模拟TCP错误的好工具。它可以模拟(从上面的链接复制粘贴):

    • 滞后,将数据包保持一小段时间以模拟网络 滞后。
    • 丢弃、随机丢弃数据包。
    • 在给定的时间范围内限制、阻止流量,然后将它们分批发送。
    • 复制,然后将克隆的数据包发送到原始数据包。
    • 乱序,重新排列数据包的顺序。
    • 篡改、轻推数据包内容的位。

    【讨论】:

    • 我刚试过笨拙,还不错!它的效果似乎比参数似乎暗示的更残酷,但肯定会弄乱传输。 (例如,我发现添加了 50 毫秒的延迟,完全破坏了我没有预料到的 TCP)
    • 即使关闭所有“功能”,当它“启动”时,流量总是严重中断。所以它不能正常工作......但确实会出错。
    【解决方案5】:

    据我所知,没有任何工具,但大多数 TCP 错误都可以通过自定义 LSP 过滤器来模拟。 This文章可以让你开始写一篇


    【讨论】:

      猜你喜欢
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多