web-dev-qa-db-fra.com

Comment vider la table de routage dans Windows?

J'essaie d'écrire un programme qui modifie la passerelle par défaut de l'heure du réseau. Mais il semble qu'il y ait des caches sur la table de routage dans chaque processus, de sorte que je ne puisse pas contrôler le comportement du réseau avec précision. Puis-je simplement vider la table de routage de ce processus?

Par exemple, si j'ai d'abord exécuté un fichier Iexplore.exe, puis changé la passerelle par défaut en un vpn coréen, IE est toujours allé à la passerelle par défaut amercia. Mais si je modifie d'abord la passerelle par défaut, puis exécute Iexplore .exe, il est allé en Corée.

Alors, comment puis-je vider le cache de la table de routage? Merci.

21
jay

Depuis la commande Invite en tant qu'administrateur, exécutez:

netsh interface ip delete destinationcache

Fonctionne sur Win7.

29
exceed

route -f provoque des dégâts. Nous devons donc déconnecter les parties correctes de la table de routage ou savoir comment la reconstruire.

2
DMart

Dans Microsoft Windows, vous pouvez passer par la commande route -f pour supprimer votre passerelle actuelle, cochez la case route /? pour une option plus avancée, comme ajouter/supprimer, etc. écrivez également un lot pour ajouter une route à une heure spécifique, mais si vous devez supprimer le cache IP, vous avez la possibilité d'utiliser la commande arp.

1
Rizwan Ranjha

Vous pouvez ouvrir une invite de commande et faire un

route print

et voyez votre table de routage actuelle.

Vous pouvez le modifier en

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

ceux-ci semblent fonctionner

Je lance un ping d.d.d.d -t changer la route et ça change. (mon test impliquait le routage vers une route morte et le ping arrêté)

1
w33mhz