lshw fará isso por você:
sudo lshw -C network
Por exemplo, meu cartão de Wi-Fi é exibido da seguinte forma:
*-network
description: Wireless interface
product: Centrino Advanced-N 6235
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:04:00.0
logical name: wlan0
version: 24
serial: c8:f7:33:4c:cc:e1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=3.11.0-15-generic firmware=18.168.6.1 latency=0 link=no multicast=yes wireless=IEEE 802.11abgn
resources: irq:47 memory:e2500000-e2501fff
O endereço MAC é, obviamente, o número de série. Observe que, mesmo se você alterar o endereço MC aparente da placa wifi com macchanger , lshw ainda exibirá o verdadeiro endereço MAC, ao contrário de ifconfig , que exibe o alterado. Além disso, não há menção de interfaces construídas nesta peça de hardware.
Por fim, de acordo com sua página de manual, lshw ...
...currently supports DMI (x86 and IA-64 only), OpenFirmware device tree (PowerPC only), PCI/AGP, CPUID (x86), IDE/ATA/ATAPI, PCMCIA (only tested on x86), SCSI and USB.
qual é a cobertura mais completa que pude encontrar.