Tenho uma máquina Windows com várias interfaces de rede. Quero verificar por qual interface o tráfego para um determinado endereço IP é roteado. Posso simular manualmente a lógica de seleção de regras da tabela de roteamento na minha cabeça, mas - quero ter certeza. Como posso saber qual regra o Windows está realmente usando para um determinado IP?
Notas:
- Windows 10.
- Um endereço IPv4.
- tracert pode não funcionar, porque nós intermediários podem não reportar de volta sobre pacotes ICMP atingindo TTL=0. Além disso, eu quero confiar somente na minha própria máquina.
Use o
Find-NetRoute
cmdlet do PowerShell.Ele retorna dois objetos, o primeiro sendo o endereço de origem e o segundo sendo a entrada da rota.
O Tracert não depende de nós intermediários serem pingáveis. Ele depende apenas de eles enviarem relatórios de erro ICMP "Time-to-live Exceeded".
Semelhante para outros sistemas:
ip route get <daddr> [from <saddr>] [fibmatch]
route -n get <daddr>
birdc show route [all] [filtered] for <daddr>
/ip[v6] route check <daddr> [src=<saddr>]
/ip/route/check <daddr> once [src-ip=<saddr>]
Find-NetRoute -RemoteIPAddress <daddr> [-LocalIPAddress <saddr>]
show ip route <daddr>
show ip route specify <daddr>