On Windows, how to determine route for IP destination?

21

8

How can I determine the IP route taken for a specific IP destination (without looking at "route print" and figuring it out manually)?

In OS X there's route get 1.2.34 and in Linux there's /sbin/ip route get 1.2.3.4. Is there anything like that on Windows?

Ilya

Posted 2011-10-13T23:01:14.773

Reputation: 1 584

if you are willing to use Powershell you can use the Get-NetRoute cmdlet, https://technet.microsoft.com/en-us/library/hh826126.aspx

– arana – 2016-10-07T21:57:46.147

Answers

10

Yep. Open a command line and type tracert 1.2.3.4

Traveling Tech Guy

Posted 2011-10-13T23:01:14.773

Reputation: 8 743

1@Hello71 -w 0 is not working in my case (gives error Bad value for option -w.). -w 1 works however. – KrishPrabakar – 2015-05-07T09:14:51.453

8This is not the correct answer. tracert doesn't give the routing information such as which interface is being used. – RickMeasham – 2016-08-01T01:20:55.263

Heh, good point. Not an optimal solution, since it does query the network for something you know locally, but for the most part, gives me the information I need. – Ilya – 2011-10-13T23:17:21.957

1@Ilya: Using -d (no resolve IP) and -w 0 (don't wait for ping) should speed up the scan a lot. – Hello71 – 2011-10-14T00:30:07.647

16This doesn't really do the same thing. The route get commands the original posted mentions perform a lookup in the local routing table and return the result. For example, you can ask ip route get 192.168.1.32/28 to find which routing table entry will be used for that network, but you can't ask tracert about network blocks. – larsks – 2012-11-04T03:31:44.607

26

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

Monsignor

Posted 2011-10-13T23:01:14.773

Reputation: 366

2tbh this should be upvoted more. Find-NetRoute is probably the closest you're going to get to ip route get on Windows. – Bratchley – 2017-06-20T17:56:11.090

Note that this will not work on Windows 7 (and lower). Should work on Windows 8 (and above). – Nux – 2018-07-23T12:47:45.980

This should be the accepted answer. Btw, powershell seems not designed for daily interactive use ... – cyfdecyf – 2019-12-05T08:22:56.653

9

The pathping command is similar to tracert but includes the outgoing interface.

Using cygwin, this command gives the outgoing IP/interface for a particular destination (specified by $HOST):

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

tombrown52

Posted 2011-10-13T23:01:14.773

Reputation: 251

1This is a better answer.

pathping -n -w 1 -h 1 -q 1 $HOST

was also very informative for me. Helped me figure out a problem I was having. – jenming – 2017-02-27T05:55:50.823