Wie ermittle ich unter Windows die Route für das IP-Ziel?

21

Wie kann ich die IP-Route für ein bestimmtes IP-Ziel ermitteln (ohne auf "Route drucken" zu schauen und manuell herauszufinden)?

In OS X gibt es route get 1.2.34und in Linux gibt es /sbin/ip route get 1.2.3.4. Gibt es so etwas unter Windows?

Ilya
quelle
Wenn Sie Powershell verwenden möchten, können Sie das Cmdlet Get-NetRoute verwenden: technet.microsoft.com/en-us/library/hh826126.aspx
arana

Antworten:

8

Ja. Öffnen Sie eine Befehlszeile und geben Sie Folgendes eintracert 1.2.3.4

Reisender Techniker
quelle
Heh, guter Punkt. Keine optimale Lösung, da das Netzwerk zwar nach etwas abgefragt wird, das Sie vor Ort kennen, aber größtenteils die Informationen liefert, die ich benötige.
Ilya
1
@Ilya: Die Verwendung von -d(keine IP- Adresse auflösen) und -w 0(nicht auf Ping warten) sollte den Scan erheblich beschleunigen.
Hallo71
16
Das macht nicht wirklich dasselbe. Die route getBefehle, die die ursprünglich veröffentlichten Erwähnungen enthalten, führen eine Suche in der lokalen Routing-Tabelle durch und geben das Ergebnis zurück. Sie können beispielsweise ip route get 192.168.1.32/28nach dem Routing-Tabelleneintrag fragen , der für dieses Netzwerk verwendet wird, Sie können jedoch nicht tracertnach Netzwerkblöcken fragen .
larsks
1
@ Hallo71 -w 0funktioniert in meinem fall nicht (gibt fehler Bad value for option -w.). -w 1funktioniert jedoch.
KrishPrabakar
8
Dies ist nicht die richtige Antwort. tracertgibt keine Routing-Informationen an, z. B. welche Schnittstelle verwendet wird.
RickMeasham
25

In 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
Monsignore
quelle
2
tbh dies sollte mehr gewürdigt werden. Find-NetRouteist wahrscheinlich die nächste, die Sie unter ip route getWindows erreichen werden.
Bratchley
Beachten Sie, dass dies unter Windows 7 (und niedriger) nicht funktioniert. Sollte unter Windows 8 (und höher) funktionieren.
Nux
Dies sollte die akzeptierte Antwort sein. Übrigens scheint Powershell nicht für den täglichen interaktiven Gebrauch
gedacht zu sein
8

Der pathpingBefehl ähnelt tracertder ausgehenden Schnittstelle, schließt sie jedoch ein.

Unter Verwendung von cygwin gibt dieser Befehl die ausgehende IP / Schnittstelle für ein bestimmtes Ziel an (angegeben durch $HOST):

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

tombrown52
quelle
1
Das ist eine bessere Antwort. pathping -n -w 1 -h 1 -q 1 $HOST war auch sehr informativ für mich. Hat mir geholfen, ein Problem herauszufinden, das ich hatte.
27.