Fugas de WebRTC
Prueba de fugas WebRTC: lo que una llamada desde el navegador revela de tu dirección IP
Parte de: ¿Es seguro hacer llamadas VoIP? Lo que protege y lo que expone una llamada desde el navegador
En resumen
Una prueba de fugas WebRTC muestra todas las direcciones IP que tu navegador entrega a una página web a través de WebRTC, para que detectes alguna que querías ocultar; por lo general, la dirección de tu proveedor de internet mientras tienes la VPN activada [1]. Una llamada desde el navegador a un número de teléfono le muestra tu IP al servicio de llamadas, no a la persona a la que llamas, que ve un identificador de llamadas [2]. La prueba es una de las revisiones de privacidad y seguridad que recomiendo antes de llamar desde el navegador.
Datos clave
- Las normas de WebRTC del IETF dicen que una VPN con túnel dividido puede permitir que WebRTC descubra la dirección pública de tu proveedor de internet además de la de la VPN [1]. Revisado el .
- En mi prueba local con Chrome 156, una página sin permiso de micrófono solo veía mi computadora como un nombre .local aleatorio; con el micrófono permitido, obtuvo mi dirección local real [3][1]. Revisado el .
- Messenger dice que las llamadas individuales comparten tu dirección IP con el dispositivo de la otra persona [4]; el ajuste Proteger dirección IP en llamadas de WhatsApp, en cambio, hace pasar las llamadas por sus servidores [5]. Revisado el .
¿Qué es una fuga de WebRTC?
Antes de una llamada WebRTC, el navegador reúne las posibles rutas de red, llamadas candidatos ICE, y se las entrega a la página web para que las pase al otro lado. Cada una lleva una dirección IP, o un nombre .local aleatorio en lugar de una dirección local oculta. Un sitio web común solo ve la dirección pública desde la que llegó tu solicitud; a través de WebRTC, una página puede saber más [1]. Una fuga es cualquier dirección de esa lista que no querías compartir.
Cómo viaja el resto de una llamada lo explico en WebRTC, SIP y la red telefónica; para las fugas solo importa la lista de candidatos. MDN señala que sus direcciones siempre quedan expuestas a la página [6].
| Tipo de candidato | Dirección que muestra | Riesgo para la privacidad |
|---|---|---|
| host | La dirección de tu dispositivo en la red local, o un nombre aleatorio terminado en .local si el navegador la oculta [7][3] | Menor que el de una dirección pública, pero el IETF considera las direcciones IPv4 privadas una superficie bastante significativa para el fingerprinting [1] |
| srflx (reflexivo de servidor) | La dirección pública que tu router o tu VPN muestra a un servidor STUN [7] | Alto si es la dirección de tu proveedor mientras tienes la VPN activada [1] |
| relay | Una dirección en un servidor TURN que reenvía el audio [7] | Bajo: el otro lado ve la dirección del relay, no la tuya [6]; aun así, quien opera el relay sí te ve |
El IETF considera el caso de la VPN el más grave, porque algunas personas usan una VPN para mantenerse en el anonimato [1]. Los otros dos casos son tu dirección privada y un proxy que las comprobaciones de WebRTC esquivan, lo que revela tu dirección pública real [1].
¿Una llamada desde el navegador expone tu dirección IP?
Al servicio de llamadas, sí: todo sitio web ve tu dirección pública [1], y una llamada añade una conexión de audio con los servidores del servicio. A la persona a la que llamas a un fijo o a un celular, no: la llamada sale de internet en la pasarela del proveedor [8], y la red telefónica transmite un número de origen, no una dirección IP [2]. Las llamadas entre apps pueden conectar dos dispositivos directamente.
| Tipo de llamada | El servicio | La persona a la que llamas |
|---|---|---|
| Del navegador a un número de teléfono (Google Voice, TwinPhone, Yolla) | Sí: gestiona la conexión de audio | No: ve un identificador de llamadas [2] |
| Marcadores web gratuitos (Call2Friends, Globfone) | Sí: Call2Friends limita las llamadas gratis por dirección IP, y la política de privacidad de Globfone incluye las direcciones IP entre los datos técnicos y registros que procesa [9][10] | No: ve un identificador de llamadas |
| Messenger, llamada individual | Sí | Sí: Meta dice que tu IP se comparte con el otro dispositivo [4] |
| Sí | Puede verla, salvo que actives Proteger dirección IP en llamadas; las llamadas grupales siempre pasan por sus servidores [5] | |
| Telegram | Sí | Puede verla: el anuncio de Telegram de 2017 dice que las llamadas van de punto a punto siempre que es posible [11] |
En las llamadas a números reales, la pregunta es qué sabe y qué guarda el servicio; lo que ve en cambio la persona a la que llamas lo explico en qué número aparece cuando llamas desde el navegador.
Cómo hacer una prueba de fugas WebRTC
Una página de prueba de fugas hace lo mismo que un marcador antes de una llamada: abre una conexión WebRTC, le pregunta a un servidor STUN qué dirección pública ve y muestra cada candidato junto a la dirección que ve por HTTP normal. Hazla en cada navegador desde el que llamas, primero con la VPN desactivada y después con la VPN activada.
- Con la VPN desactivada: abre una página de prueba de fugas, como el WebRTC Leak Test de BrowserLeaks. “Your Remote IP”, arriba, y “Public IP Address”, bajo “Your WebRTC IP”, deberían coincidir.
- Con la VPN activada: vuelve a cargar la página. “Your Remote IP” ahora debería mostrar la dirección de la VPN.
- Si la sección de WebRTC sigue mostrando la dirección de tu proveedor, WebRTC está rodeando el túnel [1].
- Una entrada local terminada en .local significa que la dirección está oculta [3]; una dirección sin ocultar que empieza por 192.168. o 10. no lo está.
- Si la página ofrece una prueba de micrófono, permítela y vuelve a probar: un marcador necesita acceso al micrófono, y ese permiso puede revelar más direcciones [1]. Después, quita el permiso en la configuración del sitio [12].
Qué cambió en Chrome al permitir el micrófono
El cargué una página de prueba local en Chrome 156 en una Mac, sin servidor STUN, así que ninguna dirección salió hacia un servidor externo. Sin permiso de micrófono, la página vio un solo candidato host con un nombre aleatorio terminado en .local [3]. Con el micrófono permitido, recibió mi dirección IPv4 local real.
Eso coincide con el estándar, que solo permite la lista completa de direcciones con consentimiento, como el permiso de micrófono [1]; WebKit, el motor de Safari, describió la misma regla en 2017 [13]. Así que un marcador al que le das permiso puede ver tu dirección local: un riesgo menor que el de tu dirección pública [1].
Ajustes del navegador que limitan las fugas de WebRTC
Brave documenta un ajuste de IP de WebRTC para los usuarios. Google documenta los controles de Chrome para extensiones y administradores, y Microsoft documenta los de Edge como una política de administrador. Firefox oculta las direcciones locales de forma predeterminada y tiene un interruptor de apagado en about:config. Hay una regla que vale en todos: desactivar WebRTC también deja sin funcionar los marcadores web, porque WebRTC es lo que transporta la llamada [14].
| Navegador | Control | Qué cambia | Efecto en las llamadas desde el navegador |
|---|---|---|---|
| Brave | Política de gestión de IP de WebRTC en los ajustes de privacidad, según la wiki de Brave (editada por última vez en 2018) [15] | Default Public Interface Only no expone ninguna dirección local [15] | El audio puede pasar a un servidor relay [1] |
| Chrome | Las extensiones pueden fijar una política de gestión de IP de WebRTC [16]; los administradores pueden fijar la política WebRtcIPHandling [17] | Según el valor, deja de usar direcciones privadas o envía el audio solo a través de un proxy [17] | Los valores de solo proxy pueden llevar el audio a TCP, lo que según el IETF reduce la calidad [1] |
| Edge | Política de administrador WebRtcLocalhostIpHandling [18] | Dos de sus valores dejan de exponer la dirección IP local [18] | Igual que en Chrome |
| Firefox | Direcciones locales ocultas de forma predeterminada [19]; media.peerconnection.enabled en about:config [20] | Poner esa preferencia en false desactiva WebRTC | Los marcadores web dejan de funcionar |
| Safari | Regla integrada | Las páginas sin acceso al micrófono o a la cámara no reciben direcciones host, según lo describió WebKit en 2017 [13] | Ninguno |
Qué cambia una VPN en las llamadas desde el navegador
Una VPN que envía todo el tráfico por su túnel, WebRTC incluido, le muestra al servicio de llamadas la dirección de la VPN en lugar de la tuya. Una VPN con túnel dividido también puede dejar que WebRTC encuentre la dirección de tu proveedor [1]; por eso conviene hacer la prueba de fugas con la VPN activada. Una VPN también tiene efectos secundarios en las llamadas.
- Algunos servicios restringen las VPN: los términos de TextNow dicen que puede limitar o restringir su uso [21].
- Algunos marcadores gratuitos reparten las llamadas gratis por dirección IP, como hace Call2Friends [9], así que con una VPN puedes compartir ese cupo con otros usuarios de la misma dirección de salida.
- Forzar el audio a través de un proxy que no puede transportar UDP lo lleva a TCP, lo que según el IETF reduce la calidad del audio [1].
- El servicio sigue viendo tu cuenta y tu registro de llamadas; Google, por ejemplo, puede registrar los números, la hora y la duración de las llamadas [22].
Cómo mantener tu dirección IP privada en las llamadas
Elige la solución según la llamada. En las llamadas a números de teléfono, la persona a la que llamas no recibe tu IP, así que elige un servicio al que se la confiarías y revisa tu VPN. En las llamadas entre apps, el otro dispositivo puede conectarse directamente al tuyo, así que usa el ajuste de relay de la app si lo tiene.
- Llamadas desde el navegador: haz la prueba de fugas con la VPN activada; en Brave, elige Default Public Interface Only [15].
- Micrófono: en los marcadores que usas una sola vez, dale permiso con “Permitir esta vez” [12]; en mi prueba con Chrome, una página con ese permiso podía ver la dirección local.
- WhatsApp: activa Proteger dirección IP en llamadas. La página de ayuda cubre Android, iOS y Mac, no la versión web, y advierte que las llamadas que pasan por sus servidores pueden perder algo de calidad [5].
Preguntas frecuentes
¿Qué es una prueba de fugas WebRTC?
Una prueba de fugas WebRTC es una página web que ejecuta la misma configuración de conexión que usa una llamada desde el navegador y muestra todas las direcciones IP que ofrece tu navegador, junto a la dirección que la página ve por HTTP normal. Si en esa lista aparece la dirección de tu proveedor mientras tienes la VPN activada, WebRTC está rodeando el túnel [1]; un nombre .local aleatorio significa que tu dirección local está oculta [3].
¿La persona a la que llamo desde el navegador puede ver mi dirección IP?
No, no en una llamada a un fijo o a un celular. El proveedor convierte el audio de tu navegador en una llamada telefónica en su pasarela [23], y la red telefónica transmite un número de origen, no una dirección IP [2]. Las llamadas entre apps son distintas: Messenger dice que las llamadas individuales comparten tu IP con el dispositivo de la otra persona [4].
¿Una VPN evita las fugas de WebRTC?
Una VPN que envía todo el tráfico por su túnel, WebRTC incluido, sí. Una VPN con túnel dividido puede que no, porque WebRTC puede descubrir la dirección pública de tu proveedor junto a la de la VPN [1]. La única forma de saberlo es hacer una prueba de fugas con la VPN conectada, en cada navegador que uses, y repetirla después de las actualizaciones.
¿Es peligrosa una fuga de la dirección IP local?
Menos que una fuga de la dirección pública. Una dirección privada como 192.168.1.20 no dice dónde estás, pero el IETF considera las direcciones IPv4 privadas una superficie bastante significativa para el fingerprinting, capaz de vincular sesiones normales y de navegación privada en un mismo dispositivo [1]. Firefox oculta las direcciones locales de forma predeterminada [19], Safari las oculta a las páginas sin acceso al micrófono o a la cámara [13], y Chrome también lo hizo en mi prueba.
¿El modo incógnito o la navegación privada evitan las fugas de WebRTC?
No. El IETF señala que una dirección privada revelada a través de WebRTC puede funcionar como un identificador que le indica a un sitio que una ventana normal y una de navegación privada están en el mismo dispositivo [1], así que el modo privado por sí solo no la oculta. Usa los ajustes del navegador de arriba y luego haz también una prueba de fugas en una ventana privada.
¿Funcionan las extensiones contra las fugas de WebRTC?
En parte. En Chrome, una extensión puede fijar la política de gestión de IP de WebRTC del navegador, que Google describe como un equilibrio entre el rendimiento del audio y la cantidad de información de direcciones locales que se expone [16]. Según el valor, eso oculta las direcciones locales o fuerza el audio a través de un proxy, lo que puede llevarlo a TCP y reducir la calidad [1]. Después de instalar una, haz una prueba de fugas para confirmar el cambio.
¿Cómo desactivo WebRTC en Firefox?
Escribe about:config en la barra de direcciones, busca media.peerconnection.enabled y ponlo en false. El código fuente de Mozilla describe esa preferencia como el interruptor de RTCPeerConnection, y al desactivarla las páginas también pierden el acceso a la API del micrófono [20]. A partir de ahí, ningún marcador web funciona, así que a la mayoría de quienes llaman les conviene más la configuración predeterminada de Firefox, que ya oculta las direcciones locales [19].
¿Cómo evito las fugas de WebRTC en Chrome?
Con una extensión o con una política, porque Google documenta los controles de direcciones de WebRTC de Chrome para esas dos vías. Una extensión puede fijar la política de manejo de IP de WebRTC[16], y los administradores pueden configurar WebRtcIPHandling, cuyo valor default_public_interface_only impide que WebRTC use direcciones privadas[17]. En mi revisión de Chrome, una página sin permiso de micrófono ya veía solo un nombre .local aleatorio[3]. Detrás de una VPN, la solución real es un túnel que lleve todo el tráfico[1]. Cualquier cosa que bloquee WebRTC por completo también bloquea las llamadas desde el navegador[14].
¿Un sitio web puede ver mi IP a través de WebRTC sin preguntarme?
Tu dirección pública, sí, pero los sitios web la ven de todos modos: Safari, por ejemplo, solo da a las páginas sin acceso al micrófono direcciones que un sitio web ya podría obtener[13]. El problema es un proxy del navegador. Si se permite el acceso directo a internet, las comprobaciones STUN de WebRTC pueden saltarse el proxy y revelar tu dirección pública real[1]. Las direcciones locales están mejor protegidas: el estándar vincula la lista completa a un consentimiento, como el permiso de micrófono[1], y en mi revisión de Chrome una página sin ese permiso solo veía un nombre .local aleatorio[3].
Pregúntale a una IA sobre esta investigación
Cada botón abre el asistente en una pestaña nueva y le pide resumir esta página, con el enlace a ella como fuente.
Fuentes
- RFC 8828: WebRTC IP Address Handling Requirements · IETF (RFC Editor) · consultada el 1 de noviembre de 2026
- 47 CFR 64.1601 -- Delivery requirements and privacy restrictions | eCFR · US Code of Federal Regulations (eCFR) · consultada el 1 de noviembre de 2026
- Using Multicast DNS to protect privacy when exposing ICE candidates (draft-ietf-mmusic-mdns-ice-candidates) · IETF (Internet-Draft, work in progress) · consultada el 1 de noviembre de 2026
- Voice call someone or a group on Messenger - Messenger Help Center (Computer) · consultada el 1 de noviembre de 2026
- How to protect your IP address on WhatsApp calls | WhatsApp Help Center · WhatsApp · consultada el 1 de noviembre de 2026
- RTCIceCandidate: address property - Web APIs | MDN · MDN Web Docs (Mozilla) · consultada el 1 de noviembre de 2026
- RTCIceCandidate: type property - Web APIs | MDN · MDN Web Docs (Mozilla) · consultada el 1 de noviembre de 2026
- Make calls | Sonetel help · consultada el 1 de noviembre de 2026
- Free call | Call2Friends - Online call · consultada el 1 de noviembre de 2026
- Privacy Policy | Globfone · consultada el 1 de noviembre de 2026
- Voice Calls: Secure, Crystal-Clear, AI-Powered | Telegram Blog (30 March 2017) · Telegram · consultada el 1 de noviembre de 2026
- Use your camera and microphone in Chrome - Computer - Google Chrome Help · Google · consultada el 1 de noviembre de 2026
- A Closer Look Into WebRTC | WebKit (3 July 2017) · WebKit (Apple) · consultada el 1 de noviembre de 2026
- WebRTC API - Web APIs | MDN · MDN Web Docs (Mozilla) · consultada el 1 de noviembre de 2026
- WebRTC Custom Settings · brave/brave-browser Wiki · Brave Software (official GitHub wiki) · consultada el 1 de noviembre de 2026
- chrome.privacy | API | Chrome for Developers · Google (Chrome for Developers) · consultada el 1 de noviembre de 2026
- Chrome Enterprise policy list: WebRtcIPHandling (WebRTC IP handling) · Google (Chrome Enterprise) · consultada el 1 de noviembre de 2026
- Microsoft Edge Browser Policy Documentation WebRtcLocalhostIpHandling | Microsoft Learn · Microsoft · consultada el 1 de noviembre de 2026
- Firefox source: modules/libpref/init/all.js (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · consultada el 1 de noviembre de 2026
- Firefox source: modules/libpref/init/StaticPrefList.yaml (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · consultada el 1 de noviembre de 2026
- Terms of Use – TextNow · consultada el 1 de noviembre de 2026
- Privacy Policy – Privacy & Terms – Google · Google · consultada el 1 de noviembre de 2026
- Call From Your Browser Without a SIM Card - TwinPhone · consultada el 1 de noviembre de 2026