No Windows, como determinar a rota para o destino IP?


21

Como posso determinar a rota IP usada para um destino IP específico (sem olhar para "impressão de rota" e descobrir manualmente)?

No OS X existe route get 1.2.34e no Linux, existe /sbin/ip route get 1.2.3.4. Existe algo assim no Windows?


se você estiver disposto a usar o PowerShell que você pode usar o Get-NetRoute cmdlet, technet.microsoft.com/en-us/library/hh826126.aspx
arana

Respostas:


8

Sim. Abra uma linha de comando e digitetracert 1.2.3.4


Heh, bom argumento. Não é uma solução ideal, pois consulta a rede por algo que você conhece localmente, mas, na maioria das vezes, fornece as informações necessárias.
Ilya

1
@Ilya: O uso -d(sem resolução de IP) e -w 0(não espere pelo ping) deve acelerar muito a verificação.
Hello71

16
Isso realmente não faz a mesma coisa. Os route getcomandos mencionados pelas menções originais executam uma pesquisa na tabela de roteamento local e retornam o resultado. Por exemplo, você pode pedir ip route get 192.168.1.32/28para descobrir qual entrada da tabela de roteamento será usada para essa rede, mas não pode perguntar tracertsobre os blocos de rede.
Larsks

1
@ Hello71 -w 0não está funcionando no meu caso (dá erro Bad value for option -w.). -w 1funciona no entanto.
KrishPrabakar

8
Esta não é a resposta correta. tracertnão fornece informações de roteamento, como qual interface está sendo usada.
RickMeasham 01/08/19

25

Em 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

2
Isso deve ser mais votado. Find-NetRouteé provavelmente o mais próximo que você vai chegar ip route getno Windows.
Bratchley

Observe que isso não funcionará no Windows 7 (e inferior). Deve funcionar no Windows 8 (e acima).
Nux

Essa deve ser a resposta aceita. Btw, PowerShell parece não foi projetado para uso interativo diário ...
cyfdecyf 05/12

8

O pathpingcomando é semelhante a, tracertmas inclui a interface de saída.

Usando o cygwin, este comando fornece o IP / interface de saída para um destino específico (especificado por $HOST):

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


1
Esta é uma resposta melhor. pathping -n -w 1 -h 1 -q 1 $HOST também foi muito informativo para mim. Me ajudou a descobrir um problema que eu estava tendo.
jenming 27/02
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.