No Linux, os dispositivos de rede estão listados em /sys/class/net/
. Cada dispositivo tem uma entrada lá e seu tipo é dado por /sys/class/net/$finame/type
. Os tipos são definidos em if_arp.h
:
#define ARPHRD_IEEE80211 801 /* IEEE 802.11
Você deve encontrar todos os dispositivos de um determinado tipo com:
find_by_type() {
(
cd /sys/class/net/ || return 1
for dev in * ; do
if test "$(cat "$dev/type")" = "$1" ; then
echo $dev
fi
done
)
}
Você pode então:
wlan="$(find_by_type 801 | head -n1)"
Isso só funciona para o Linux, no entanto.