Как очистить таблицу маршрутов в Windows? - PullRequest
21 голосов
/ 16 марта 2012

Я пытаюсь написать программу, которая меняет шлюз по умолчанию времени сети.Но кажется, что в каждом процессе есть кеши в таблице маршрутов, поэтому я не могу точно контролировать поведение сети.Могу ли я просто сбросить таблицу маршрутизации для этого процесса?

Например, если я сначала запустил Iexplore.exe, а затем изменил шлюз по умолчанию на корейский vpn, IE все равно перешел к шлюзу по умолчанию amercia.Но если я сначала изменил шлюз по умолчанию, а затем запустил Iexplore.exe, он отправился в Корею.

Так как же очистить кэш таблицы маршрутов?Спасибо.

Ответы [ 4 ]

29 голосов
/ 03 марта 2014

Из командной строки от имени администратора:

netsh interface ip delete destinationcache

Работает на Win7.

2 голосов
/ 25 июля 2013

маршрут -f наносит урон.Поэтому нам нужно либо отключить правильные части таблицы маршрутизации, либо узнать, как ее перестроить.

1 голос
/ 25 июля 2013

Вы можете открыть командную строку и сделать

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 dddd -t, измените маршрут, и он изменится.(мой тест включал маршрутизацию к неработающему маршруту и ​​пинг прекратился)

1 голос
/ 16 марта 2012

В Microsoft Windows вы можете выполнить команду route -f , чтобы удалить ваш текущий шлюз, проверить route /? для получения дополнительной опции, например, добавить / удалить и т. Д., А также Можно также написать пакет для добавления маршрута в определенное время, но если вам нужно удалить кэш IP, у вас есть возможность использовать команду arp .

...