En algún punto de cada hilo sobre una cuenta baneada, alguien da el mismo consejo: cambia tu dirección MAC, que así es como saben que eres tú. Suena convincente. La dirección MAC viene grabada de fábrica en tu tarjeta de red, es única en el mundo y parece exactamente el identificador que un sitio web agarraría primero.
También es el único identificador que un sitio web no puede conseguir. La razón está por debajo de cualquier cosa que un sitio controle: tu dirección MAC nunca pasa de tu propio router, y nada dentro de un navegador va a entregarla. El widget de esta página lo intenta de todos modos, y te muestra lo que un sitio ve en su lugar.
Tu dirección MAC se baja en el primer salto
Una dirección MAC responde a una sola pregunta: ¿qué tarjeta de red de esta red debe recibir esta trama? Cuando tu portátil envía una petición a un sitio web, envuelve el paquete en una trama sellada con tu MAC como origen y la MAC de tu router como destino. El router desmonta esa trama, se queda con el paquete y construye una trama nueva para el siguiente tramo con su propia dirección como origen. Cada router entre tú y el servidor repite exactamente lo mismo. Para cuando tu petición llega, la MAC de origen que lleva pertenece al router que esté más cerca del servidor. La tuya nunca salió de tu salón.
- Tu dispositivoenvuelve la petición en una trama dirigida al routersrc MAC
3C:22:FB:9A:41:D6la tuya - Tu router última parada de tu MACdesmonta la trama y construye una nueva para el siguiente saltosrc MAC
9C:53:22:71:0B:E4la del router - Tu ISP, y cada router que viene despuéscada salto repite la reescritura con su propia direcciónsrc MAC
…la del último router que lo reenvió - El sitio webrecibe tu dirección IP pública y las cabeceras de tu peticióntu MAC: no va en el paquete
¿Puede JavaScript obtener tu dirección MAC?
No, y este extremo está tan cerrado como el de la red. El navegador le dirá a cualquier script tu idioma y el número de núcleos de tu CPU a través de navigator, y WebGL ofrecerá por iniciativa propia el modelo de tu GPU, todo sin ninguna solicitud de permiso, pero no existe nada con forma de MAC en ningún rincón de la plataforma web. “Obtener la dirección MAC desde JavaScript” lleva casi dos décadas con la misma respuesta en Stack Overflow: no se puede, y a quien pregunta le dicen que se genere su propio identificador.
Por qué las respuestas viejas de los foros dicen que una web puede leerla
Busca esta pregunta y todavía encontrarás respuestas que afirman que un sitio puede leerla, con los “scripts especiales” adecuados en sus servidores. Esas respuestas se escribieron en otro navegador. En la era de los plugins, un applet de Java firmado podía llamar a NetworkInterface.getHardwareAddress() y un control ActiveX en Internet Explorer podía sencillamente preguntárselo a Windows. Toda esa clase de agujeros desapareció: Chrome retiró el soporte de plugins en 2015, Firefox en 2017, y el propio Internet Explorer se jubiló en 2022. Nada de lo que ejecuta un navegador moderno tiene ese tipo de alcance dentro del sistema operativo.
El otro fantasma es IPv6. El esquema de direccionamiento original construía tu dirección IPv6 pública en parte a partir de tu MAC, un formato llamado EUI-64, lo que significaba que tu dirección de hardware viajaba literalmente dentro de cada paquete. Se reconoció como un agujero de privacidad casi de inmediato: las extensiones de privacidad lo arreglaron (RFC 3041 en 2001, refinado en el RFC 4941), y todos los sistemas operativos principales llevan años usando direcciones aleatorizadas por defecto. Tanto la lectura directa como la filtración indirecta están cerradas; los mensajes de foro que dicen lo contrario simplemente son más viejos que los arreglos.
Quién sí puede ver tu dirección MAC (y por qué tu teléfono les miente)
Tu MAC es perfectamente visible en la red a la que estás conectado. Tu router la registra, cualquier dispositivo en la misma Wi-Fi puede verla, y también quien administre esa Wi-Fi: tu empresa, el hotel, el aeropuerto, la cafetería. Cuando la página de acceso de un hotel te saluda por dispositivo, es la puerta de enlace de la red pasándole su propio conocimiento a su propio portal, no tu navegador soltando nada. Esa sí es una superficie de rastreo real. Las firmas de analítica minorista solían seguir teléfonos por los centros comerciales gracias a las sondas Wi-Fi que emiten, y por eso los fabricantes de sistemas operativos tomaron cartas en el asunto. iOS 14 empezó a darle a cada red Wi-Fi su propia “dirección privada” en 2020, Android 10 convirtió la aleatorización por red en el comportamiento por defecto, Windows ofrece direcciones de hardware aleatorias por red y macOS se puso al día en Sequoia. Las apps perdieron el acceso incluso antes: desde iOS 7, una app que pide la MAC recibe 02:00:00:00:00:00 a cambio, y Android 6 hace el mismo truco. La excepción famosa fue TikTok, al que el Wall Street Journal pilló recopilando direcciones MAC en Android durante al menos 15 meses mediante una triquiñuela que esquivaba el bloqueo de Android 6: una app abusando del acceso al sistema operativo, no una web leyendo tu navegador.
Todo eso te protege del operador de la red, no de los sitios web. De entrada, los sitios web nunca tuvieron la dirección.
¿Una VPN oculta tu dirección MAC?
No, y tampoco le hace falta. Una VPN cifra tu tráfico y cambia la dirección IP que ve internet. Tu MAC vive en el segmento entre tu portátil y tu router, antes de que nada de eso ocurra, y no va más allá con o sin túnel. Tu router ve tu MAC en cualquier caso; el sitio web no la ve en ninguno. Si un proveedor de VPN anuncia la protección de la MAC como una funcionalidad, te está protegiendo de algo que no estaba pasando.
Lo que los sitios web sí pueden deducir sobre los usuarios de VPN es real; lo que pasa es que las filtraciones viven en otra parte: la zona horaria, los idiomas, el propietario del rango de IP. Lo desmontamos pieza a pieza en cómo las webs detectan tu VPN.
A qué se ancla en realidad un “baneo de dispositivo”
Lo que nos lleva a la razón por la que la mayoría de la gente pregunta por la dirección MAC en primer lugar: una plataforma dijo que tu dispositivo estaba baneado, y la MAC es, de todo lo que sabes nombrar, lo que más suena a dispositivo. La pantalla SS06 de “dispositivo baneado” de Snapchat, el bloqueo por dispositivo de Roblox, un baneo en un foro que sobrevive a una cuenta nueva. Si el sitio no puede ver tu MAC, ¿qué fue lo que agarró?
En la web, tres cosas. Un identificador almacenado: alguna cookie o algún valor en localStorage escrito mucho antes del baneo, que sobrevive a cerrar sesión. Tu dirección IP, o el rango entero al que pertenece. Y el fingerprint de tu navegador: el hash de canvas, la lista de fuentes, la cadena de la GPU, la zona horaria, combinados en un identificador que no necesita almacenamiento alguno. Los tres tienen vidas útiles muy distintas, que es exactamente la razón por la que las plataformas usan los tres a la vez. También es la razón de que no haya una única respuesta a cuánto dura un baneo de dispositivo: la parte de las cookies muere cuando se borra el almacenamiento, la de la IP cuando tu dirección cambia, y la del fingerprint solo cuando cambia el navegador o el hardware que tiene debajo.
- webs: a ciegasDirección MACnunca sale de tu red local, y no existe ninguna API del navegador
- webs: a ciegasNúmeros de serie del hardware (HWID)los lee el anti-cheat de kernel dentro de los juegos, nunca una página web
- webs: a ciegasIDs de dispositivo del teléfonoel sistema operativo se los entrega a las apps nativas; lo que usa un baneo de Snapchat
- visible para las websDirección IPva en cada petición; cambia con la red en la que estés, o con una VPN
- visible para las websCookies y almacenamiento del sitiosobrevive a cerrar sesión; se borra en los ajustes del navegador
- visible para las websFingerprint del navegadorsobrevive a borrar el almacenamiento y a cambiar de IP
Las apps nativas y los juegos juegan en otra liga, y ambos mundos se confunden constantemente. Una app de teléfono recibe del sistema operativo identificadores de dispositivo de la plataforma y atestación, que es en lo que se apoya un baneo de dispositivo de Snapchat. Los juegos de PC con anti-cheat a nivel de kernel, Vanguard, Easy Anti-Cheat, BattlEye, leen los números de serie de la placa base y de los discos desde dentro del sistema operativo: eso sí es un auténtico baneo por HWID. Una página web no puede hacer nada de esto. Una web que pide la cadena del modelo de tu GPU ya está en el techo de lo que llegará a saber jamás de tu hardware, e incluso eso llega como parte de la superficie de fingerprint, no como un número de serie.
Qué hacer realmente
- Deja de resolver el problema de la MAC para los sitios web. No hay nada que resolver. Si un sitio te sigue reconociendo cuando crees que no debería, el reconocimiento vive en el almacenamiento, en tu IP o en tu fingerprint, y el escaneo completo del navegador te muestra qué señales está regalando tu navegador.
- Activa la aleatorización de MAC en las redes que no son tuyas. Esa es la amenaza para la que se creó la función, no cuesta nada y en un teléfono actual probablemente ya esté activada.
- Si gestionas varias cuentas por trabajo, el fingerprint es la parte que realmente las vincula, y parchearlo a mano crea las contradicciones que los sistemas de detección buscan. Incogniton le da a cada perfil su propio fingerprint y almacenamiento coherentes, que es la capa donde de verdad ocurre la separación, sin ningún cambiador de MAC de por medio.
Que una plataforma concreta permita algo de esto lo fijan sus normas, así que conócelas antes de actuar. Pero decidas lo que decidas, decídelo sobre los identificadores que un sitio web puede leer de verdad. El widget de arriba los lista todos, y la fila de la dirección MAC es la que ninguna página va a rellenar jamás.