Sous Windows, comment déterminer l'itinéraire pour la destination IP?

21

Comment puis-je déterminer la route IP prise pour une destination IP spécifique (sans regarder "l'impression de la route" et le déterminer manuellement)?

Sous OS X, il y en a route get 1.2.34et sous Linux, il y en a /sbin/ip route get 1.2.3.4. Y a-t-il quelque chose comme ça sous Windows?

Il y a
la source
si vous souhaitez utiliser Powershell, vous pouvez utiliser l'applet de commande Get-NetRoute, technet.microsoft.com/en-us/library/hh826126.aspx
arana

Réponses:

8

Oui. Ouvrez une ligne de commande et tapeztracert 1.2.3.4

Voyager Tech Guy
la source
Hé, bon point. Pas une solution optimale, car il interroge le réseau pour quelque chose que vous savez localement, mais pour la plupart, il me donne les informations dont j'ai besoin.
Ilya
1
@Ilya: L'utilisation de -d(aucune résolution IP) et -w 0(n'attendez pas le ping) devrait accélérer considérablement l'analyse.
Hello71
16
Cela ne fait pas vraiment la même chose. Les route getcommandes que mentionne l'original publié effectuent une recherche dans la table de routage locale et renvoient le résultat. Par exemple, vous pouvez demander ip route get 192.168.1.32/28quelle entrée de table de routage sera utilisée pour ce réseau, mais vous ne pouvez pas poser tracertde questions sur les blocs de réseau.
larsks
1
@ Hello71 -w 0ne fonctionne pas dans mon cas (donne une erreur Bad value for option -w.). -w 1fonctionne cependant.
KrishPrabakar
8
Ce n'est pas la bonne réponse. tracertne donne pas les informations de routage telles que l'interface utilisée.
RickMeasham
25

À Powershell:

Find-NetRoute -RemoteIPAddress "10.0.0.34" | Select-Object ifIndex,DestinationPrefix,NextHop,RouteMetric -Last 1

ifIndex DestinationPrefix NextHop     RouteMetric
------- ----------------- -------     -----------
     49 10.0.0.0/24       10.64.130.4           0
Monseigneur
la source
2
tbh cela devrait être plus voté. Find-NetRouteest probablement le plus proche de ip route getWindows.
Bratchley
Notez que cela ne fonctionnera pas sur Windows 7 (et inférieur). Devrait fonctionner sur Windows 8 (et supérieur).
Nux
Ce devrait être la réponse acceptée. Au fait, PowerShell ne semble pas conçu pour une utilisation interactive quotidienne ...
Cyfdecyf
8

La pathpingcommande est similaire à tracertmais inclut l'interface sortante.

En utilisant cygwin, cette commande donne l'IP / l'interface sortante pour une destination particulière (spécifiée par $HOST):

pathping -n -w 1 -h 1 -q 1 $HOST | head -n 4 | tail -n 1 | awk '{print $2}'

tombrown52
la source
1
C'est une meilleure réponse. pathping -n -w 1 -h 1 -q 1 $HOST a également été très instructif pour moi. M'a aidé à comprendre un problème que j'avais.
jenming