Come posso determinare il percorso IP preso per una destinazione IP specifica (senza guardare "route route" e capirlo manualmente)?
In OS X c'è route get 1.2.34e in Linux c'è /sbin/ip route get 1.2.3.4. C'è qualcosa del genere su Windows?
Come posso determinare il percorso IP preso per una destinazione IP specifica (senza guardare "route route" e capirlo manualmente)?
In OS X c'è route get 1.2.34e in Linux c'è /sbin/ip route get 1.2.3.4. C'è qualcosa del genere su Windows?
Risposte:
Sì. Apri una riga di comando e digitatracert 1.2.3.4
-d(nessuna risoluzione IP) e -w 0(non aspettare il ping) dovrebbe accelerare molto la scansione.
route getcomandi menzionati dall'originale pubblicato eseguono una ricerca nella tabella di routing locale e restituiscono il risultato. Ad esempio, puoi chiedere ip route get 192.168.1.32/28di trovare quale voce della tabella di routing verrà utilizzata per quella rete, ma non puoi chiedere tracertinformazioni sui blocchi di rete.
-w 0non funziona nel mio caso (dà un errore Bad value for option -w.). -w 1funziona comunque.
tracertnon fornisce le informazioni di routing come l'interfaccia utilizzata.
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è probabilmente il più vicino a ip route getWindows.
Il pathpingcomando è simile tracertma include l'interfaccia in uscita.
Usando cygwin, questo comando fornisce l'IP / l'interfaccia in uscita per una destinazione particolare (specificata da $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 è stato anche molto istruttivo per me. Mi ha aiutato a capire un problema che stavo avendo.