如何在 Windows 上模拟无法访问的主机?

如何在 Windows 上模拟无法访问的主机?

我有一台 Windows 8 PC,正在测试一个用于网络套接字错误处理的测试版程序。我在模拟测试中遇到的问题之一是主机不可达和网络不可达错误。我如何模拟这些情况以了解程序是否正确处理它们。

答案1

  • 尝试连接到未使用的 IP 地址。
  • 在您想要模拟故障时拔掉网络连接
  • 从交换机上拔下通话的另一端(如果是远程的,则断开互联网)。这个测试是测试当您的 PC 连接仍然打开时它所做的操作,这可能与当您的网络电缆断开连接时它所做的操作不同。

答案2

对于网络不可达错误,您可以使用route delete并删除所有路由。然后您应该能够收到大量网络不可达错误。

答案3

虽然可以拔掉线路或删除路由表中的路由,但使用这些技术的错误情况相当有限。相反,您可以使用网络模拟器来配置虚拟网络,然后针对该网络测试您的应用程序。

这种方法可以给你带来以下几点:

  • 测试场景可以轻松重复。
  • 测试场景可以自动测试。
  • 您可以测试许多不同的(且困难的)网络设置,而无需投资数百或数十万美元购买网络设备。
  • 由于您不依赖于网络硬件的物理接近度,因此您可以在编写代码的任何地方进行测试。

有几种开源替代方案,例如 Cloonix、CORE Network 模拟器和其他的

答案4

您还可以使用 Windows 8 的自带防火墙来阻止程序的连接。

相关内容