Eu não acho que haja uma maneira fácil de distingui-los. Pesquisando em /sys/class/net , encontrei as seguintes distinções:
- Dispositivos físicos têm um link simbólico
/sys/class/net/eth0/device - As pontes têm um diretório
/sys/class/net/br0/bridge - Os dispositivos TUN e TAP têm um% de arquivo
/sys/class/net/tap0/tun_flags - As interfaces de pontes e loopback têm
00:00:00:00:00:00em/sys/class/net/lo/address