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

我有一个Windows 8的PC,我正在testing一个testing程序的networking套接字error handling。 其中一个我有问题模拟testing是主机无法访问和networking不可达错误。 如何模拟这些条件来知道程序是否正确处理它们。

  • 尝试连接到未被使用的IP地址。
  • 拔掉您想要模拟故障的networking连接
  • 从交换机上拔下对话的另一端(或断开互联网,如果它是远程的话)。 这个testing你的电脑连接是否仍然连接,这可能与你的networking电缆断开连接时有所不同。

对于networking不可达错误,您可以使用route delete并删除所有路由。 那么你应该能够得到很多networking不可达的错误。

虽然可以在路由表中拔掉电线或删除路由,但使用这些技术的错误条件的种类是相当有限的。 相反,你可以使用一个networking模拟器,这将允许你configuration一个虚拟networking,然后testing你的应用程序。

这种方法可以为您提供以下几点

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

有几个开源的替代品,如Cloonix,COREnetworking模拟器等 。

您也可以使用Windows 8的本机防火墙来阻止您的程序的连接。