Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This is in unix environment. I have multiple routes in a host (visible with 'ip route show' command). If I am pinging an address, how can I find out which gateway was used to route the tracffic?

I tried using traceroute command, but it does not show the immediate gateway.

From below output, is my default gateway.

# ip r l dev front_eth1  proto kernel  scope link  src dev bond0  proto kernel  scope link  src
default via dev front_eth1  proto gated

When I do traceroute to an external address, the gateway used (default gateway is not shown in output.

# traceroute -n -I
traceroute to (, 30 hops max, 40 byte packets
 1  0.507 ms  1.008 ms  1.017 ms
 2  0.228 ms  0.233 ms  0.234 ms

Is there any option to view the same information as given by traceroute command, including the gateway used for routing?

share|improve this question

migrated from Mar 12 '12 at 8:59

This question came from our site for professional and enthusiast programmers.

up vote 22 down vote accepted

You can use the ip route get <address> command to ask the kernel to report the route it would use to send a packet to the specified address:

$ ip route get via dev eth0  src 
$ is my default route. If I ask for an address that would not go over the default route:

$ ip route get dev eth0  src 
share|improve this answer
Thaks a lot. :) That solves the issue. – divya Mar 12 '12 at 8:40

You must log in to answer this question.