Andrew Mercer
on this page

Listing network hardware

sudo lshw -short -class network
H/W path              Device       Class          Description
==============================================================
/0/100/1c/0           wlan0        network        Wireless Network Adapter
/0/100/1c.3/0         eth0         network        Gigabit Ethernet PCIe
/1                    virbr0       network        Ethernet interface
/2                    docker0      network        Ethernet interface

-short gives a compact one-line-per-device summary; drop it for the full detail (driver, firmware version, bus info) on each device.

Listing just the interfaces

ip link show                 # all interfaces, state, MAC address
ip -br link show             # brief, one line each

Driver and firmware detail on a specific interface

sudo ethtool -i eth0
driver: e1000e
version: 5.15.0
firmware-version: 0.9-4
bus-info: 0000:00:1f.6

Matching a device to its kernel driver

basename "$(readlink /sys/class/net/eth0/device/driver)"

Finding virtual/software interfaces (bridges, veth, tun/tap)

lshw and ethtool are built for physical hardware and give thin or misleading output on virtual interfaces — for bridges, veths, tunnels, and containers' virtual NICs, use:

ip -d link show               # -d (detail) shows the interface type: bridge, veth, tun, vlan, etc.
bridge link show               # bridge-specific membership view

Cheat sheet

lshw -short -class network      # inventory of network hardware
ip -br link show                # quick interface list
ethtool -i <iface>              # driver/firmware for one interface
ip -d link show                 # interface type detail (bridge/veth/vlan/tun)