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.34
und in Linux gibt es /sbin/ip route get 1.2.3.4
. Gibt es so etwas unter Windows?
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.34
und in Linux gibt es /sbin/ip route get 1.2.3.4
. Gibt es so etwas unter Windows?
Antworten:
Ja. Öffnen Sie eine Befehlszeile und geben Sie Folgendes eintracert 1.2.3.4
-d
(keine IP- Adresse auflösen) und -w 0
(nicht auf Ping warten) sollte den Scan erheblich beschleunigen.
route get
Befehle, 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/28
nach dem Routing-Tabelleneintrag fragen , der für dieses Netzwerk verwendet wird, Sie können jedoch nicht tracert
nach Netzwerkblöcken fragen .
-w 0
funktioniert in meinem fall nicht (gibt fehler Bad value for option -w.
). -w 1
funktioniert jedoch.
tracert
gibt keine Routing-Informationen an, z. B. welche Schnittstelle verwendet wird.
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
Find-NetRoute
ist wahrscheinlich die nächste, die Sie unter ip route get
Windows erreichen werden.
Der pathping
Befehl ähnelt tracert
der 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}'
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.