在 Windows 7 上,如何添加错误路由,以便我已经建立的 TCP 连接断开

在 Windows 7 上,如何添加错误路由,以便我已经建立的 TCP 连接断开

假设我们有 3 台 Windows 7 机器,A、B、C,都在同一个子网上。

A-192.168.1.2

B - 192.168.1.3 - 没有人拥有此 IP,子网上不存在

C-192.168.1.4

在A上运行tracert 192.168.1.4,显示直达C。

假设我想将流量从 A 经由 B 路由到 C(不存在的 IP,强制断开从 A 到 C 的所有现有 TCP 连接在 XP 上,我只需在 A 上添加一条路线,如下所示:

路由添加 192.168.1.4 192.168.1.3

一旦我这样做了,过一会儿,我已经建立的连接最终会断开。正如预期的那样,ping 192.168.1.4 不再有效。

这在 Windows 7 上不起作用,添加该路由后,我仍然能够通过 ping 到达 192.168.1.4,并且 tracert 显示它直接从 192.168.1.2 到达 192.168.1.4。

有没有办法在 Windows 7 中做到这一点,就像以前在 XP 中一样?

谢谢

答案1

它应该以完全相同的方式工作,对我来说确实如此!也许你在设置它时没有检查度量值?度量值较低的路由条目将优先于其他条目。而且你的命令无论如何都是错误的,甚至在 XP 上也不起作用。

应该如下:

route add 192.168.1.4 mask 255.255.255.255 192.168.1.3 metric 1

也许你输入了(在 win 7 机器上)

route add 192.168.1.4 mask 255.255.255.0 192.168.1.3 metric whatever

从技术上讲,由于子网掩码为 255.255.255.0,因此目标网络(192.16.1.4)与以下网络完全相同:

route add 192.168.1.0 mask 255.255.255.0 on-link metric

我们知道这是默认路由条目。现在它有两个路由条目指向完全相同的目的地,并且(可能)具有相同的度量值,它应该选择哪一个?它无法选择一种优先于另一种的方法。我不知道接下来会发生什么。它要么随机选择其中一条路由(可以说是负载平衡),要么始终选择链接上的路由,因为此条目意味着目的地更近(直接连接)。无论哪种方式都无关紧要,因为您错误配置了路由。正确的方法是添加我首先发布的条目。

编辑:我刚刚在我的 Windows 7 PC 上测试了您遇到的这个确切场景并且成功了。

答案2

它对我来说不起作用,因为我添加了一条路由以强制它转到不存在的目标地址。我在 XP 上一直这样做,以便我可以断开连接进行测试,但在 Windows 7 上这不起作用。

添加一条路由,例如:route add 192.168.1.4 192.168.1.3,其中目的地确实存在,工作正常,这让我认为 Windows 7 比 XP 更智能,因为如果我添加的路由的目的地不存在,它可以选择不同的路由。

在 XP 上,一旦我添加了一条通往不存在的目标 IP 的路由,我就无法再 ping 目标 IP。所以问题应该是:在 Windows 7 上,如何添加一条错误的路由,以便我已经建立的连接会中断。

答案是:

以前在 XP 上我只会添加一条路由去往不存在的 IP,但是在 Windows 7 上我需要添加一条路由去往存在但无法路由的 IP,效果应该是一样的。

相关内容