Checking the IP routing table in Windows shows which gateway and network interface handle traffic for each destination network. When multiple adapters, VPN clients, or virtual switches exist, the routing table is often the difference between a working connection and traffic silently taking the wrong path.
The Windows TCP/IP stack maintains separate routing tables for IPv4 and IPv6. Each route specifies a destination prefix (network + mask/prefix length), a next hop (gateway) or On-link delivery, an interface, and a metric that influences route selection. Windows generally chooses the most specific match first (longest prefix), then prefers the lowest metric among equally specific routes.
Route entries can change automatically due to DHCP renewals, Wi-Fi roaming, VPN connections, or virtualization features such as Hyper-V and WSL. Viewing routes is safe, but changing routes (route add/route delete, New-NetRoute, Remove-NetRoute) can immediately break connectivity if a default route or interface route is altered.
Related: How to check IP address in Windows
Related: How to configure a static IP address on Windows
Methods to check IP routing table in Windows:
C:\> route print -4
===========================================================================
Interface List
15...3c 52 82 aa bb cc ...... Ethernet
11...f0 9f c2 12 34 56 ...... Wi-Fi
1........................... Software Loopback Interface 1
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.50 25
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
192.168.1.0 255.255.255.0 On-link 192.168.1.50 281
192.168.1.50 255.255.255.255 On-link 192.168.1.50 281
192.168.1.255 255.255.255.255 On-link 192.168.1.50 281
===========================================================================
Persistent Routes:
None
0.0.0.0 with netmask 0.0.0.0 is the default IPv4 route used when no more specific route matches.
C:\> route print -6 =========================================================================== Interface List 15...3c 52 82 aa bb cc ...... Ethernet 11...f0 9f c2 12 34 56 ...... Wi-Fi 1........................... Software Loopback Interface 1 =========================================================================== IPv6 Route Table =========================================================================== Active Routes: If Metric Network Destination Gateway 15 25 ::/0 fe80::1 1 331 ::1/128 On-link 15 281 2001:db8:1:1::/64 On-link 15 281 2001:db8:1:1::50/128 On-link 15 281 fe80::/64 On-link =========================================================================== Persistent Routes: None
::/0 is the default IPv6 route, and fe80::1 is a common link-local next hop on the local segment.
C:\> route print 192.168.1.0
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
192.168.1.0 255.255.255.0 On-link 192.168.1.50 281
192.168.1.50 255.255.255.255 On-link 192.168.1.50 281
192.168.1.255 255.255.255.255 On-link 192.168.1.50 281
Use route print -4 and route print -6 to limit output to IPv4 or IPv6 when the full table is noisy.
The NetTCPIP cmdlets return route entries as objects, which is useful for filtering by prefix, address family, and metric.
PS C:\> Get-NetRoute ifIndex DestinationPrefix NextHop RouteMetric PolicyStore ------ ----------------- ------- ----------- ----------- 15 0.0.0.0/0 192.168.1.1 25 ActiveStore 15 192.168.1.0/24 0.0.0.0 281 ActiveStore 1 127.0.0.0/8 0.0.0.0 331 ActiveStore 15 2001:db8:1:1::/64 0.0.0.0 281 ActiveStore 15 ::/0 fe80::1 25 ActiveStore ##### snipped #####
ifIndex maps to the interface index, and RouteMetric is used as a tiebreaker when multiple routes have the same destination specificity.
PS C:\> Get-NetRoute -DestinationPrefix 192.168.1.0/24 ifIndex DestinationPrefix NextHop RouteMetric PolicyStore ------ ----------------- ------- ----------- ----------- 15 192.168.1.0/24 0.0.0.0 281 ActiveStore
PS C:\> Get-NetRoute -DestinationPrefix 0.0.0.0/0 ifIndex DestinationPrefix NextHop RouteMetric PolicyStore ------ ----------------- ------- ----------- ----------- 15 0.0.0.0/0 192.168.1.1 25 ActiveStore
PS C:\> Get-NetRoute -DestinationPrefix ::/0 ifIndex DestinationPrefix NextHop RouteMetric PolicyStore ------ ----------------- ------- ----------- ----------- 15 ::/0 fe80::1 25 ActiveStore