Teste de vazamento WebRTC

Uma VPN muda o endereço que os sites veem. Mesmo assim, seu navegador pode deixar escapar outro pelo WebRTC, o recurso por trás das chamadas no navegador. Este teste coloca os dois lado a lado.

01 · O que nosso servidor vê

216.73.216.109

Amazon.com, Inc. · AS16509

O endereço de onde sai o seu tráfego. Com uma VPN conectada, deveria ser o da VPN.

02 · O que o WebRTC revela

Coletando endereços…

A comparação usa só endereços públicos e roda no seu navegador. Para descobrir o próprio endereço público, o navegador consulta dois servidores STUN, um operado pelo Google e outro pela Cloudflare, e eles veem seu endereço como qualquer site vê. Os endereços públicos que aparecem são enviados ao nosso servidor com uma única finalidade: dizer a qual rede pertencem. Os endereços locais ficam no seu dispositivo e não guardamos nada.

Por que um navegador pode conhecer mais de um endereço

Carregar uma página web é uma troca simples. Seu navegador pergunta, um servidor responde, e o servidor fica sabendo uma coisa sobre a sua rede: o endereço de onde veio a requisição. Uma chamada de vídeo funciona de outro jeito. Dois navegadores tentam mandar áudio e vídeo direto um para o outro, e para isso cada um precisa dizer ao outro onde pode ser encontrado.

O WebRTC é o recurso do navegador que cuida disso. Antes de uma chamada, ele reúne todos os endereços que podem funcionar, uma etapa chamada coleta ICE. Ele lista os endereços das interfaces de rede do seu aparelho e depois faz uma única pergunta a um ajudante público chamado servidor STUN: “de que endereço você me vê chegando?” Cada resposta vira um “candidato”.

Qualquer página web pode iniciar essa coleta com algumas linhas de JavaScript. Não precisa de chamada nem de pedido de permissão, e nada aparece na tela. Se a pergunta ao STUN sair fora do túnel da sua VPN, ou por uma interface que a VPN não cobre, a lista de candidatos contém o endereço que o seu provedor lhe deu. É isso que é um vazamento WebRTC.

O que o teste faz

  1. Quando a página carrega, nosso servidor anota o endereço de onde veio a sua requisição e diz qual rede é dona dele. Essa é a caixa 01.
  2. Seu navegador abre uma conexão WebRTC que não leva a lugar nenhum, apontada para dois servidores STUN, um do Google e um da Cloudflare, e coleta candidatos por até sete segundos.
  3. Os candidatos são separados. Faixas privadas (10.x, 172.16 a 172.31, 192.168.x), endereços compartilhados de operadora (100.64 a 100.127), endereços link-local e nomes .local ficam de lado como locais. O resto é público.
  4. Até seis endereços públicos vão para o nosso servidor, que devolve a rede a que cada um pertence.
  5. Cada endereço público é comparado com a caixa 01 e recebe um rótulo.

Como ler os rótulos

RótuloRegraSignificado
IgualIdêntico ao endereço que nosso servidor viuO WebRTC não acrescenta nada. Com uma VPN ligada, os dois são o endereço da VPN.
DiferenteMesma família (os dois IPv4 ou os dois IPv6), mas outro endereçoCom uma VPN ligada, é muito provável que seja o seu endereço real escapando.
Mesmo provedorOutra família, mesmo operador de rede da caixa 01Normalmente o lado IPv6 da mesma conexão ou da mesma VPN. Sem vazamento.
Outro provedorOutra família, operador de rede diferenteGeralmente um endereço IPv6 do seu provedor de internet enquanto a VPN só passa IPv4 pelo túnel.
A verificarOutra família, operador não identificadoCompare você mesmo com o endereço que você tem quando a VPN está desligada.

Abaixo da lista, a página diz se os endereços locais estão visíveis. Os navegadores atuais os substituem por um nome aleatório terminado em .local, que não diz nada a um site. Um endereço 192.168.x.x simples também não leva até você, mas é mais um detalhe que um rastreador pode usar para distinguir aparelhos.

“Nenhum endereço público” e “O WebRTC está desativado” querem dizer que essa porta está fechada. Ou o navegador se recusou a coletar candidatos, ou nenhuma resposta STUN voltou.

O teste não tem como saber se você usa uma VPN. Sem VPN, dois endereços públicos diferentes podem ser perfeitamente normais, numa linha com IPv4 e IPv6, por exemplo, e os sites veem seu endereço real de qualquer jeito. Um resultado vermelho só é problema quando uma VPN ou um proxy deveria estar escondendo você. O teste também cobre o WebRTC e nada mais. Vazamentos de DNS são outro assunto.

Fechar o vazamento

No aplicativo da VPN
Procure “WebRTC leak protection”, “IPv6 leak protection” e “kill switch” (ou os nomes equivalentes no seu idioma) e ative os três. Se o provedor não suporta IPv6, desative o IPv6 no adaptador de rede enquanto estiver conectado. Uma VPN que existe só como extensão do navegador protege o tráfego das páginas e pode deixar o WebRTC de fora, então prefira o aplicativo completo.
Firefox
Abra about:config e defina media.peerconnection.ice.default_address_only como true. O WebRTC passa então a usar só a rota padrão, que é o túnel. Definir media.peerconnection.enabled como false remove o WebRTC por completo.
Chrome e Edge
Não há uma opção nativa. O Google publica uma extensão, WebRTC Network Limiter, com a opção “Use my default public interface only”. A extensão uBlock Origin tem uma configuração parecida, “Prevent WebRTC from leaking local IP addresses”.
Brave
Configurações, Privacidade e segurança, “WebRTC IP handling policy”: escolha “Disable non-proxied UDP”.

Depois de cada mudança, recarregue esta página com a VPN conectada. O objetivo é ter todas as linhas públicas marcadas “Igual” ou “Mesmo provedor”, ou nenhum endereço público.

Perguntas frequentes

O que é um vazamento WebRTC?

É quando uma página web consegue o seu endereço IP real pelo recurso WebRTC do navegador, mesmo que uma VPN ou um proxy o esconda das requisições normais da página. Um script curto é tudo de que a página precisa. Nenhuma permissão de câmera ou microfone entra em jogo.

Não uso VPN. Este teste importa para mim?

Quase nada. Sem VPN, todo site já recebe o seu endereço real a cada requisição, então o WebRTC não entrega nada a mais. O teste é para quem conta com uma VPN ou um proxy para esconder a localização.

Desativar o WebRTC quebra alguma coisa?

Desligá-lo por completo impede chamadas e compartilhamento de tela no navegador, ou seja, Google Meet, Microsoft Teams na web, Discord, Jitsi e afins. Restringir o WebRTC à rota padrão, ou usar a proteção da própria VPN, mantém as chamadas funcionando.

Por que o teste mostra um endereço IPv6 com a VPN ligada?

Muitas VPNs só passam IPv4 pelo túnel. Se o seu provedor de internet também lhe dá IPv6, o tráfego para destinos IPv6 pode contornar o túnel. Ative a proteção contra vazamento de IPv6 na VPN, ou desligue o IPv6 no aparelho.

Um endereço .local ou 192.168 é um vazamento?

Não. Eles identificam seu aparelho na sua própria rede e não podem ser acessados nem localizados de fora. A única coisa que conta como vazamento é um endereço público diferente do que a sua VPN apresenta.