36

I'm trying to execute a ping with eth1, but the program uses eth0(the default network device). Any tips, tricks, or alternate techniques available?

1
  • What does it mean to execute a ping "with" an interface exactly? Aug 16, 2013 at 22:49

3 Answers 3

45

From the manual:

  -I interface
          interface is either an address, or an interface name.  If interface is an address, it sets source
          address to specified interface address.  If interface in an interface name, it sets source inter‐
          face  to  specified  interface.   For  ping6, when doing ping to a link-local scope address, link
          specification (by the '%'-notation in destination, or by this option) is required.

So, answer is:

ping -I eth1 123.123.123.123
1
  • NOTE: ** Be careful when using ping -I, it isn't always unintrusive. If you have a bond0 (teaming NICs) and you ping one of the slaves it will block the network connection until the ping stops ..
    – Mike Q
    Sep 9, 2022 at 5:24
9

Use the -I option -

-I interface address
          Set  source address to specified interface address. Argument may
          be numeric IP address or name of device. When pinging IPv6 link-
          local address this option is required.

ping -I eth1 www.google.com

1
  • Note: This won't work on MacOS
    – retsigam
    Apr 21, 2023 at 18:07
4

I believe using the -I option will do this. I had to do it once, but that was some time ago. From the ping man page:

-I interface address
Set source address to specified interface address. Argument may be numeric IP address or name of device. When pinging IPv6 link-local address this option is required.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .