Necesito un método multiplataforma para determinar la dirección MAC de una computadora en tiempo de ejecución. Para Windows se puede usar el módulo 'wmi' y el único método bajo Linux que pude encontrar fue ejecutar ifconfig y ejecutar una expresión regular a través de su salida. No me gusta usar un paquete que solo funcione en un sistema operativo, y analizar el resultado de otro programa no parece muy elegante, por no mencionar que es propenso a errores.Obteniendo la dirección MAC
¿Alguien sabe un método de plataforma cruzada (Windows y Linux) para obtener la dirección MAC? Si no, ¿alguien sabe métodos más elegantes que los que enumeré arriba?
Acabo de probar esto en una caja de Windows y funciona muy bien ... excepto que la computadora portátil que probé tiene 2 NIC (una inalámbrica) y no hay manera de determinar qué MAC devolvió. Solo una palabra de advertencia si quieres usar este código. – technomalogical
Esa es una función del enumerador de dispositivo de Windows, cualquiera que sea el método que use para obtener la dirección: debe tener cuidado si lo usa como una ID única. –
Solo una advertencia: si nos fijamos en la documentación 'getnode' dice que devolverá una longitud aleatoria si no puede detectar el mac:" Si todos los intentos de obtener la dirección de hardware fallan, seleccionamos aleatoria de 48 bits número con su octavo bit puesto a 1 como se recomienda en RFC 4122. " ¡Así que revisa ese octavo bit! – deinonychusaur