Tengo acceso a diferentes máquinas donde se ejecuta mi código de Python. Me gustaría obtener la dirección MAC de una tarjeta de red de cada una de estas máquinas. Siguiendo este hilo, utilizo:
import uuid
uuid.getnode()
y obtengo el mismo número en diferentes máquinas: 190070690681122, que convierto al formato habitual con:
":".join(f"{b:02x}" for b in uuid.getnode().to_bytes(6, "big"))
y obtengo ac:de:48:00:11:22
, que es diferente de la dirección MAC que veo en Preferencias de Red. Me intriga por qué varias máquinas devuelven el mismo número, así que busqué al respecto y encontré otro hilo que también encuentra este número:
en9: flags=8863 mtu 1500
ether ac:de:48:00:11:22
Así que creo que esto es específico de las computadoras Apple.
En otro Mac, ejecuté este código y obtuve el mismo número, pero al ejecutarlo cuatro días después encontró otra dirección MAC: 3e:22:fb:...
, cuando la dirección MAC real es diferente por una letra: 3c:22:fb...
.
¿Cuál es la fuente del problema y cómo puedo obtener de manera confiable la dirección MAC real de una computadora Mac (sin doble sentido)?