Respuestas:
El siguiente es un fragmento de un script bash que uso para determinar el MAC de Ethernet, o si no existe WiFi (para Pi Zero W).
No se basa ifconfig
ni en ningún otro método para detectar la IP asignada, y solo necesita que el sistema detecte el hardware de red.
Esto funciona para Jessie, Stretch o Buster
# Find MAC of eth0, or if not exist wlan0
if [ -e /sys/class/net/eth0 ]; then
MAC=$(cat /sys/class/net/eth0/address)
elif [ -e /sys/class/net/enx* ]; then
MAC=$(cat /sys/class/net/enx*/address)
else
MAC=$(cat /sys/class/net/wlan0/address)
fi
Básicamente, podría usar MAC=$(cat /sys/class/net/wlan0/address)
para encontrar el MAC de WiFi incorporado en Pi3 o Pi Zero W.
MAC=$(cat /sys/class/net/wlx*/address)
debería funcionar en dongles WiFi en Stretch, pero podría adaptar fácilmente lo anterior para que funcione tanto en Jessie como en Stretch para WiFi y Ethernet.
/sys/class/net
?
Ingrese en la terminal / consola ifconfig wlan0
Al final de la primera línea debe estar la dirección de hardware, también conocida como MAC.
Aquí una salida de muestra (configuración regional alemana):
pi@RasPi0w-1:~ $ ifconfig wlan0
wlan0 Link encap:Ethernet Hardware Adresse b8:27:eb:xx:xx:xx
...
ifconfig
sea una buena alternativa en el futuro.
Muchas distribuciones está reemplazando ifconfig
con ip
lo que me gustaría desalentar el uso de ifconfig
.
Para mostrar la interfaz wlan0:
ip link show wlan0
o
cat /sys/class/net/wlan0/address
ifconfig
que todavía estará disponible por muchos años. Eliminarlo ahorrará unos miserables 800 kB, rompiendo muchos scripts antiguos.
ip link show
es probablemente más apropiado que ip addr show
.
ifconfig
por defecto, Raspbian Stretch parece tenerlo. Prefiero ip
terminar ifconfig
, aunque creo que Bob tiene razón al decir que link
probablemente sea más apropiado que addr
en este contexto. Sin embargo, la solución que busqué fue leerlo /sys/class/net/wlan0/address
, sin necesidad de análisis adicional. Además, lo escribo como cat /sys/class/net/wl*/address
un intento ingenuo de guardarlo para los próximos "nombres de interfaz de red predecibles".
ifconfig wlan0
Al final de la primera línea debe estar la dirección de hardware, también conocida como MAC.