Ask Ubuntu is a question and answer site for Ubuntu users and developers. 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

I need to get the name of the network interface (e.g. eth0, wlan0) that is the currently-active one, the one sending and receiving traffic at the moment. When it's connected to WiFi, it would be wlan0 but when it's connected directly it would be eth0. Or something else, depending on the network devices on the system and which one is active. How can I find this out?

share|improve this question
up vote 4 down vote accepted

Open a terminal and run the command:


The active interface will have an IP address and transmitted and received bytes. Here is an example:

eth0  Link encap:Ethernet  HWaddr xx:a8:6b:fe:06:xx
      inet addr:  Bcast:  Mask:
      inet6 addr: fe80::eea8:6bff:fefe:696/64 Scope:Link
      RX packets:449232 errors:0 dropped:0 overruns:0 frame:0
      TX packets:309483 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:633900275 (633.9 MB)  TX bytes:27944824 (27.9 MB)

Check if the ethernet interface is used:

ping -c3 -I eth0
ping: Warning: source address might be selected on device other than eth0.
PING ( from eth0: 56(84) bytes of data.Wi-Fi
From Think410 ( icmp_seq=1 Destination Host Unreachable
From Think410 ( icmp_seq=2 Destination Host Unreachable
From Think410 ( icmp_seq=3 Destination Host Unreachable

Verify that the wireless interface is used:

ping -c3 -I wlan0
PING ( from wlan0: 56(84) bytes of data.
64 bytes from ( icmp_seq=1 ttl=50 time=37.5 ms
64 bytes from ( icmp_seq=2 ttl=50 time=36.8 ms
64 bytes from ( icmp_seq=3 ttl=50 time=35.9 ms

So, obviously, internet traffic is currently routed through wlan0, my wireless interface.

It is possible to have both ethernet and wireless connected simultaneously. Normally, Network Manager will disallow it, preferring ethernet over wireless because it is generally faster and more secure. If one wanted to use ethernet for the LAN and wireless for the WAN (internet), one would typically remove NM and set all the details manually in /etc/network/interfaces.

share|improve this answer
In my system I see a large number of RX and TX packets for both eth0 and wlan0. I guess these numbers are not cleared when switching between wired/wireless networks? So I can't use that to tell. However, inet addr only appears for the one I'm currently connected to, so that looks like that could work. However, couldn't there be times when both show an IP? Like if I'm connected by a cable to another device but WiFi is to the internet? Is there a way to tell which of the 2 is sending you online? – user779159 Jan 14 '14 at 21:01
Please see my edit. – chili555 Jan 14 '14 at 21:19

No need for ping to hunt-and-peck. Use ip link; it has more germane info than ifconfig. Each interface will report something like

  • LOOPBACK, meaning active but never goes external (wired or wireless)
  • NO-CARRIER, meaning external but no signal being generated
  • BROADCAST, meaning external and is active
  • LOWER-UP, meaning PHY is enabled

You can have two or more external interfaces with LOWER-UP but generally a bad idea. Here's my laptop with loopback (notice LOWER_UP), down ethernet, wlan0 up and generating a signal, wlan4 (USB wifi) UP but NOT generating a signal, wlan4.mon monitor mode sniffing all stations on BSS (notice LOWER-UP). wlan4.mon does not transmit.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 24:b6:fd:24:59:b9 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 4c:eb:42:32:0c:9e brd ff:ff:ff:ff:ff:ff
26: wlan4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 00:26:f2:b3:d7:93 brd ff:ff:ff:ff:ff:ff
27: wlan4.mon: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UNKNOWN qlen 1000
    link/ieee802.11/radiotap 00:26:f2:b3:d7:93 brd ff:ff:ff:ff:ff:ffter code here
share|improve this answer

If you want a little more detail try jnettop this tool shows you detailed traffic monitoring in the terminal.

sudo apt-get install jnettop

once installed simply type jnettop in the terminal

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.