如何在Windows中刷新路由表?

时间:2012-03-16 14:31:56

标签: windows winsock routes

我正在尝试编写一个程序来改变网络时间的默认网关。但似乎每个进程中的路由表都有缓存,因此无法准确控制网络行为。我可以将路由表刷新到该流程吗?

例如,如果我首先执行了Iexplore.exe,然后将默认网关更改为韩语vpn,则IE仍会转到amercia默认网关。但是,如果我先更改默认网关然后执行Iexplore.exe,它就会转到韩国。

那么如何刷新路由表缓存?感谢。

4 个答案:

答案 0 :(得分:28)

从命令提示符管理员运行:

netsh interface ip delete destinationcache

适用于Win7。

答案 1 :(得分:2)

路线-f导致损坏。因此,我们需要断开路由表的正确部分或找出如何重建它。

答案 2 :(得分:1)

在Microsoft Windows中,您可以通过 route -f 命令删除当前网关,选中 route /?以获取更多高级选项,例如添加/删除等并且还可以编写批处理以在特定时间添加路由,但如果您需要删除IP缓存,则可以选择使用 arp 命令。

答案 3 :(得分:1)

您可以打开命令提示符并执行

route print

并查看您当前的路由表。

您可以通过

进行修改
route add    d.d.d.d mask m.m.m.m g.g.g.g 
route delete d.d.d.d mask m.m.m.m g.g.g.g 
route change d.d.d.d mask m.m.m.m g.g.g.g

这些似乎有用

我运行ping d.d.d.d -t更改路由并更改。 (我的测试涉及路由到死路线并且ping停止了)