我有一台带有多个网络接口的 Windows 机器。我想检查给定 IP 地址的流量通过哪个接口路由。我可以在脑海中手动模拟路由表规则选择逻辑,但我想确定一下。如何知道 Windows 实际上对给定 IP 使用哪条规则?
笔记:
- Windows 10。
- IPv4 地址。
- tracert 可能不起作用,因为中间节点可能不会报告达到 TTL=0 的 ICMP 数据包。此外,我只想依赖我自己的机器。
我有一台带有多个网络接口的 Windows 机器。我想检查给定 IP 地址的流量通过哪个接口路由。我可以在脑海中手动模拟路由表规则选择逻辑,但我想确定一下。如何知道 Windows 实际上对给定 IP 使用哪条规则?
笔记:
使用
Find-NetRoute
PowerShell cmdlet。它返回两个对象,第一个是源地址,第二个是路由条目。
Tracert 不依赖于中间节点是否可 ping 通。它仅依赖于它们发送 ICMP“超出生存时间”错误报告。
其他系统类似:
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>