Linux Show / Display Available Network Interfaces

How do I display all available network interfaces names under Linux operating systems using bash shell prompt? How do use the ip command to list interfaces / NIC on Linux?

You can use the following commands to see all network interfaces under Linux operating systems:

  • ip command – It is used to show or manipulate routing, devices, policy routing and tunnels.
  • netstat command – It is used to display network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.
  • ifconfig command – It is used to display or configure a network interface.
Tutorial details
Difficulty levelEasy
Root privilegesNo
RequirementsNone
Est. reading time4 minutes

List Network Interfaces Using ip Command on Linux

Type the following ip command, enter:$ ip link show Here is what we see:

$ 1: lo:  mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc mq state UP qlen 1000
    link/ether b8:ac:6f:65:31:e5 brd ff:ff:ff:ff:ff:ff
3: wlan0:  mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 00:21:6a:ca:9b:10 brd ff:ff:ff:ff:ff:ff
4: vboxnet0:  mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
5: pan0:  mtu 1500 qdisc noop state DOWN 
    link/ether c2:10:fa:55:8e:32 brd ff:ff:ff:ff:ff:ff
6: vmnet1:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff
7: vmnet8:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff
11: ppp0:  mtu 1496 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 

Where,

  1. lo – Loopback interface.
  2. eth0 – My first Ethernet network interface on Linux.
  3. wlan0 – Wireless network interface in Linux.
  4. ppp0 – Point to Point Protocol network interface which can be used by dial up modem, PPTP vpn connection, or 3G wireless USB modem.
  5. vboxnet0, vmnet1, vmnet8 – Virtual machine interface working in bridge mode or NAT mode on Linux.

Linux show / display available network interfaces using nmcli

One can list available devices and their status on Linux, run:
$ nmcli device status OR $ nmcli connection show Linux Show or Display Available Network Interfaces

Linux list all network interfaces using nmcli and ip command

Show a table of all network interfaces using netstat command in Linux

Type the following command:
$ netstat -i Sample outputs:

Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0   2697347      0      0 0       2630262      0      0      0 BMRU
lo        16436 0      2840      0      0 0          2840      0      0      0 LRU
ppp0       1496 0    102800      0      0 0         63437      0      0      0 MOPRU
vmnet1     1500 0         0      0      0 0            49      0      0      0 BMRU
vmnet8     1500 0         0      0      0 0            49      0      0      0 BMRU

Linux ip list interfaces using ifconfig command

Type the following ifconfig command:
$ /sbin/ifconfig -a Sample outputs:

eth0      Link encap:Ethernet  HWaddr b8:ac:6f:65:31:e5  
          inet addr:192.168.2.100  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::baac:6fff:fe65:31e5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2697529 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2630541 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2159382827 (2.0 GiB)  TX bytes:1389552776 (1.2 GiB)
          Interrupt:17 
 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2849 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2849 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2778290 (2.6 MiB)  TX bytes:2778290 (2.6 MiB)
 
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.1.3.105  P-t-P:10.0.31.18  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1496  Metric:1
          RX packets:102800 errors:0 dropped:0 overruns:0 frame:0
          TX packets:63437 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:148532544 (141.6 MiB)  TX bytes:4425518 (4.2 MiB)
 
vmnet1    Link encap:Ethernet  HWaddr 00:50:56:c0:00:01  
          inet addr:192.168.47.1  Bcast:192.168.47.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
vmnet8    Link encap:Ethernet  HWaddr 00:50:56:c0:00:08  
          inet addr:172.16.232.1  Bcast:172.16.232.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

How do I see routing table on Linux?

Use the following command:
ip r Sample outputs:

0.0.0.0/1 via 10.8.0.1 dev tun0 
default via 192.168.2.254 dev enp6s0 proto static metric 100 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2 
128.0.0.0/1 via 10.8.0.1 dev tun0 
139.59.1.155 via 192.168.2.254 dev enp6s0 
169.254.0.0/16 dev virbr0 scope link metric 1000 linkdown 
192.168.2.0/24 dev enp6s0 proto kernel scope link src 192.168.2.24 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown

How do I see arp cache connected to my NIC on Linux?

Run arp command:

arp
arp -a
arp -e
arp -n

Sample outputs:

Address                  HWtype  HWaddress           Flags Mask            Iface
centos7                  ether   00:01:c0:1c:09:4c   C                     enp6s0
freebsd11-box            ether   00:01:c0:1c:09:4c   C                     enp6s0
192.168.2.203            ether   00:01:c0:1c:09:4c   C                     enp6s0
fw0-pfsense-sg-3100.swe  ether   00:08:a2:0d:05:41   C                     enp6s0
192.168.2.205            ether   00:01:c0:1c:09:4c   C                     enp6s0
192.168.2.202            ether   00:01:c0:1c:09:4c   C                     enp6s0

source: https://www.cyberciti.biz/faq/linux-list-network-interfaces-names-command/