Przejdź do treści

Wycieki WebRTC

Test wycieku WebRTC: co połączenie z przeglądarki zdradza o twoim adresie IP

Część poradnika: Czy VoIP jest bezpieczny? Co chroni połączenie z przeglądarki, a co odsłania

Dodaj callfrombrowser.org jako preferowane źródło w Google

W skrócie

Test wycieku WebRTC wyświetla wszystkie adresy IP, które przeglądarka przekazuje stronie internetowej przez WebRTC, dzięki czemu wyłapiesz adres, który miał pozostać ukryty, zwykle adres twojego dostawcy internetu przy włączonym VPN [1]. Połączenie z przeglądarki na numer telefonu pokazuje twoje IP usłudze, przez którą dzwonisz, a nie osobie, do której dzwonisz; ona widzi numer dzwoniącego [2]. Ten test to jedno ze sprawdzeń prywatności i bezpieczeństwa, które polecam przed dzwonieniem z przeglądarki.

Najważniejsze fakty

Czym jest wyciek WebRTC?

Przed połączeniem WebRTC przeglądarka zbiera możliwe trasy sieciowe, zwane kandydatami ICE, i przekazuje je stronie internetowej, która wysyła je drugiemu uczestnikowi połączenia. Każdy z nich zawiera adres IP albo losową nazwę .local w miejsce ukrytego adresu lokalnego. Zwykła strona internetowa widzi tylko publiczny adres, z którego przyszło żądanie; przez WebRTC strona może dowiedzieć się więcej [1]. Wyciek to każdy adres na tej liście, który miał pozostać prywatny.

Jak przebiega reszta połączenia, opisuję w tekście WebRTC, SIP i sieć telefoniczna; przy wyciekach liczy się tylko lista kandydatów. MDN zaznacza, że ich adresy są zawsze widoczne dla strony [6].

Adresy wyświetlane przez test wycieku WebRTC i co każdy z nich zdradza
Typ kandydataJaki adres pokazujeRyzyko dla prywatności
hostAdres twojego urządzenia w sieci lokalnej albo losowa nazwa zakończona na .local, jeśli przeglądarka go ukrywa [7][3]Mniejsze niż przy adresie publicznym, ale IETF uznaje prywatne adresy IPv4 za dość istotne źródło danych do fingerprintingu, czyli rozpoznawania urządzenia [1]
srflx (server reflexive)Publiczny adres, który twój router lub VPN pokazuje serwerowi STUN [7]Wysokie, jeśli przy włączonym VPN jest to adres twojego dostawcy internetu [1]
relayAdres na serwerze TURN, który przekazuje strumienie mediów [7]Niskie: druga strona widzi adres serwera pośredniczącego, a nie twój [6]; jego operator nadal cię widzi

IETF uznaje przypadek VPN za najpoważniejszy, bo niektórzy używają VPN, żeby pozostać anonimowymi [1]. Dwa pozostałe przypadki to twój adres prywatny oraz serwer proxy, który kontrole WebRTC omijają, przez co ujawniają twój prawdziwy adres publiczny [1].

Czy połączenie z przeglądarki ujawnia twój adres IP?

Usłudze, przez którą dzwonisz, tak: każda strona internetowa widzi twój adres publiczny [1], a połączenie dodaje jeszcze strumień mediów do serwerów usługi. Osobie, do której dzwonisz na numer stacjonarny lub komórkowy, nie: połączenie opuszcza internet w bramce dostawcy [8], a sieć telefoniczna przekazuje numer dzwoniącego, a nie adres IP [2]. Połączenia między aplikacjami mogą łączyć dwa urządzenia bezpośrednio.

Kto widzi twój adres IP, według rodzaju połączenia (oficjalne strony pomocy, stan na 1.11.2026)
Rodzaj połączeniaUsługaOsoba, do której dzwonisz
Z przeglądarki na numer telefonu (Google Voice, TwinPhone, Yolla)Tak: obsługuje strumień mediówNie: widzi numer dzwoniącego [2]
Darmowe bramki w przeglądarce (Call2Friends, Globfone)Tak: Call2Friends ogranicza darmowe połączenia na adres IP, a polityka prywatności Globfone wymienia adresy IP wśród przetwarzanych danych technicznych i logów [9][10]Nie: widzi numer dzwoniącego
Messenger, rozmowa 1:1TakTak: Meta podaje, że twoje IP jest udostępniane drugiemu urządzeniu [4]
WhatsAppTakMoże, chyba że włączona jest opcja „Chroń adres IP w połączeniach”; rozmowy grupowe zawsze idą przez serwer pośredniczący [5]
TelegramTakMoże: w ogłoszeniu z 2017 roku Telegram podaje, że połączenia idą bezpośrednio między urządzeniami (peer-to-peer), gdy tylko to możliwe [11]

Przy połączeniach na prawdziwe numery chodzi o to, czego usługa się dowiaduje i co przechowuje; co zamiast tego widzi osoba, do której dzwonisz, opisuję w tekście o tym, jaki numer się wyświetla, gdy dzwonisz z przeglądarki.

Jak zrobić test wycieku WebRTC

Strona testu wycieku robi to samo co bramka przed połączeniem: otwiera połączenie WebRTC, pyta serwer STUN, jaki adres publiczny widzi, i wyświetla każdego kandydata obok adresu, który sama widzi przez zwykłe HTTP. Zrób test w każdej przeglądarce, z której dzwonisz, najpierw z wyłączonym, a potem z włączonym VPN.

  1. VPN wyłączony: otwórz stronę testu wycieku, na przykład WebRTC Leak Test w BrowserLeaks. „Your Remote IP” na górze i „Public IP Address” w sekcji „Your WebRTC IP” powinny się zgadzać.
  2. VPN włączony: odśwież stronę. „Your Remote IP” powinno teraz pokazywać adres VPN.
  3. Jeśli sekcja WebRTC nadal wyświetla adres twojego dostawcy internetu, WebRTC omija tunel [1].
  4. Lokalny wpis zakończony na .local oznacza, że adres jest ukryty [3]; surowy adres zaczynający się od 192.168. lub 10. ukryty nie jest.
  5. Jeśli strona oferuje test mikrofonu, zezwól na dostęp i powtórz test: bramka potrzebuje dostępu do mikrofonu, a to uprawnienie może odsłonić więcej adresów [1]. Potem usuń uprawnienie w ustawieniach witryny [12].

Co zmieniło się w Chrome po zezwoleniu na mikrofon

Lokalną stronę testową wczytałem w Chrome 156 na Macu, bez serwera STUN, więc żaden adres nie trafił na zewnętrzny serwer. Bez uprawnień do mikrofonu strona widziała jednego kandydata typu host, nazwanego losowym ciągiem znaków zakończonym na .local [3]. Po zezwoleniu na mikrofon dostała mój prawdziwy lokalny adres IPv4.

To zgodne ze standardem, który pozwala na pełną listę adresów tylko za zgodą, na przykład po przyznaniu dostępu do mikrofonu [1]; WebKit, silnik Safari, opisał tę samą zasadę w 2017 roku [13]. Bramka, której na to pozwolisz, może więc zobaczyć twój adres lokalny: to mniejsze ryzyko niż w przypadku adresu publicznego [1].

Ustawienia przeglądarki, które ograniczają wycieki WebRTC

Brave opisuje dla użytkowników ustawienie obsługi adresów IP w WebRTC. Google opisuje mechanizmy Chrome dla rozszerzeń i administratorów, a Microsoft opisuje mechanizm Edge jako zasadę dla administratorów. Firefox domyślnie ukrywa adresy lokalne i ma wyłącznik w about:config. Wszędzie obowiązuje jedna reguła: wyłączenie WebRTC zatrzymuje też bramki w przeglądarce, bo to WebRTC przenosi połączenie [14].

Ustawienia adresów WebRTC według przeglądarki (dokumentacja producentów, stan na 1.11.2026)
PrzeglądarkaUstawienieCo zmieniaWpływ na połączenia w przeglądarce
BraveZasada obsługi IP w WebRTC (WebRTC IP handling policy) w ustawieniach prywatności, według wiki Brave (ostatnia edycja w 2018 roku) [15]Opcja Default Public Interface Only nie ujawnia żadnych adresów lokalnych [15]Media mogą zostać przekierowane przez serwer pośredniczący [1]
ChromeRozszerzenia mogą ustawić zasadę obsługi IP w WebRTC [16]; administratorzy mogą ustawić zasadę WebRtcIPHandling [17]W zależności od wartości przestaje używać adresów prywatnych albo wysyła media tylko przez proxy [17]Wartości wymuszające proxy mogą przenieść dźwięk na TCP, co według IETF obniża jakość [1]
EdgeZasada administratora WebRtcLocalhostIpHandling [18]Dwie z jej wartości wyłączają ujawnianie lokalnego adresu IP [18]Jak w Chrome
FirefoxAdresy lokalne domyślnie ukryte [19]; media.peerconnection.enabled w about:config [20]Ustawienie tej opcji na false wyłącza WebRTCBramki w przeglądarce przestają działać
SafariWbudowana regułaStrony bez dostępu do mikrofonu lub kamery nie dostają adresów typu host, jak opisał to WebKit w 2017 roku [13]Brak

Co VPN zmienia przy połączeniach z przeglądarki

VPN, który kieruje cały ruch przez swój tunel, łącznie z WebRTC, pokazuje usłudze adres VPN zamiast twojego. VPN z dzielonym tunelem może też pozwolić WebRTC znaleźć adres twojego dostawcy internetu [1], stąd test wycieku z włączonym VPN. VPN ma też skutki uboczne dla dzwonienia.

Jak chronić swój adres IP podczas rozmów

Dopasuj rozwiązanie do rodzaju połączenia. Przy połączeniach na numery telefonów osoba, do której dzwonisz, nie dostaje twojego IP, więc wybierz usługę, której możesz ten adres powierzyć, i sprawdź VPN. Przy połączeniach między aplikacjami drugie urządzenie może łączyć się z twoim bezpośrednio, więc korzystaj z opcji przekazywania połączeń przez serwer, jeśli aplikacja ją ma.

  1. Połączenia z przeglądarki: zrób test wycieku z włączonym VPN; w Brave wybierz Default Public Interface Only [15].
  2. Mikrofon: w bramkach, których używasz jednorazowo, przyznawaj dostęp opcją „Zezwól tym razem” [12]; w moim teście w Chrome strona z tym uprawnieniem widziała adres lokalny.
  3. WhatsApp: włącz „Chroń adres IP w połączeniach”. Strona pomocy opisuje Androida, iOS i Maca, a nie wersję webową, i ostrzega, że połączenia przez serwer pośredniczący mogą mieć nieco gorszą jakość [5].

Najczęściej zadawane pytania

Czym jest test wycieku WebRTC?

To strona internetowa, która przeprowadza takie samo zestawianie połączenia, jakiego używa rozmowa w przeglądarce, i wyświetla każdy adres IP oferowany przez przeglądarkę obok adresu, który strona widzi przez zwykłe HTTP. Adres twojego dostawcy internetu na tej liście przy włączonym VPN oznacza, że WebRTC omija tunel [1]; losowa nazwa .local oznacza, że twój adres lokalny jest ukryty [3].

Czy osoba, do której dzwonię z przeglądarki, widzi mój adres IP?

Nie, jeśli dzwonisz na numer stacjonarny lub komórkowy. Dostawca zamienia dźwięk z przeglądarki na połączenie telefoniczne w swojej bramce [23], a sieć telefoniczna przekazuje numer dzwoniącego, a nie adres IP [2]. Inaczej jest przy połączeniach między aplikacjami: Messenger podaje, że rozmowy 1:1 udostępniają twoje IP urządzeniu drugiej osoby [4].

Czy VPN zatrzymuje wycieki WebRTC?

Tak, jeśli kieruje cały ruch, łącznie z WebRTC, przez swój tunel. VPN z dzielonym tunelem może tego nie robić, bo WebRTC potrafi wykryć publiczny adres twojego dostawcy obok adresu VPN [1]. Jedynym sposobem, żeby to sprawdzić, jest test wycieku przy połączonym VPN, w każdej używanej przeglądarce, powtarzany po aktualizacjach.

Czy wyciek lokalnego adresu IP jest groźny?

Mniej niż wyciek adresu publicznego. Adres prywatny, taki jak 192.168.1.20, nie zdradza, gdzie jesteś, ale IETF uznaje prywatne adresy IPv4 za dość istotne źródło danych do fingerprintingu, które pozwala powiązać zwykłe i prywatne sesje przeglądania na jednym urządzeniu [1]. Firefox domyślnie ukrywa adresy lokalne [19], Safari ukrywa je przed stronami bez dostępu do mikrofonu lub kamery [13], a w moim teście robił to też Chrome.

Czy tryb incognito lub prywatny zatrzymuje wycieki WebRTC?

Nie. IETF zauważa, że adres prywatny ujawniony przez WebRTC może działać jak identyfikator, który mówi stronie, że zwykłe okno i okno prywatne są otwarte na tym samym urządzeniu [1], więc sam tryb prywatny go nie ukrywa. Użyj opisanych wyżej ustawień przeglądarki, a potem zrób test wycieku także w oknie prywatnym.

Czy rozszerzenia blokujące wycieki WebRTC działają?

Częściowo. W Chrome rozszerzenie może ustawić zasadę obsługi IP w WebRTC, którą Google opisuje jako kompromis między wydajnością przesyłania mediów a tym, ile informacji o adresach lokalnych jest ujawnianych [16]. W zależności od wartości ukrywa to adresy lokalne albo wymusza przesyłanie mediów przez proxy, co może przenieść dźwięk na TCP i obniżyć jakość [1]. Po zainstalowaniu rozszerzenia zrób test wycieku, żeby potwierdzić zmianę.

Jak wyłączyć WebRTC w Firefoksie?

Wpisz about:config w pasku adresu, wyszukaj media.peerconnection.enabled i ustaw wartość false. Kod źródłowy Mozilli opisuje tę opcję jako wyłącznik RTCPeerConnection, a jej wyłączenie odbiera też stronom dostęp do API mikrofonu [20]. Wtedy przestaje działać każda bramka w przeglądarce, więc większości osób lepiej zostać przy domyślnym ustawieniu Firefoksa, które i tak ukrywa adresy lokalne [19].

Jak zablokować wyciek WebRTC w Chrome?

Przez rozszerzenie lub zasadę, bo dla tych dwóch dróg Google dokumentuje ustawienia adresów WebRTC w Chrome. Rozszerzenie może ustawić zasadę obsługi adresów IP w WebRTC [16], a administratorzy mogą ustawić WebRtcIPHandling, którego wartość default_public_interface_only nie pozwala WebRTC używać adresów prywatnych [17]. W moim teście w Chrome strona bez uprawnień do mikrofonu i tak widziała tylko losową nazwę .local [3]. Przy VPN prawdziwym rozwiązaniem jest tunel, który przenosi cały ruch [1]. Wszystko, co całkowicie blokuje WebRTC, blokuje też dzwonienie z przeglądarki [14].

Czy strona może bez pytania zobaczyć moje IP przez WebRTC?

Twój adres publiczny tak, ale strony i tak go widzą: na przykład Safari daje stronom bez dostępu do mikrofonu tylko adresy, które strona mogłaby zebrać i tak [13]. Haczyk to proxy w przeglądarce. Jeśli bezpośredni dostęp do internetu jest dozwolony, testy STUN w WebRTC mogą ominąć proxy i ujawnić twój prawdziwy adres publiczny [1]. Adresy lokalne są lepiej chronione: standard uzależnia pełną listę od zgody, np. uprawnień do mikrofonu [1], a w moim teście w Chrome strona bez tych uprawnień widziała tylko losową nazwę .local [3].

Zapytaj AI o to opracowanie

Każdy przycisk otwiera asystenta w nowej karcie i prosi go o streszczenie tej strony z linkiem do niej jako źródłem.

Źródła

  1. RFC 8828: WebRTC IP Address Handling Requirements · IETF (RFC Editor) · sprawdzono 1 listopada 2026
  2. 47 CFR 64.1601 -- Delivery requirements and privacy restrictions | eCFR · US Code of Federal Regulations (eCFR) · sprawdzono 1 listopada 2026
  3. Using Multicast DNS to protect privacy when exposing ICE candidates (draft-ietf-mmusic-mdns-ice-candidates) · IETF (Internet-Draft, work in progress) · sprawdzono 1 listopada 2026
  4. Voice call someone or a group on Messenger - Messenger Help Center (Computer) · sprawdzono 1 listopada 2026
  5. How to protect your IP address on WhatsApp calls | WhatsApp Help Center · WhatsApp · sprawdzono 1 listopada 2026
  6. RTCIceCandidate: address property - Web APIs | MDN · MDN Web Docs (Mozilla) · sprawdzono 1 listopada 2026
  7. RTCIceCandidate: type property - Web APIs | MDN · MDN Web Docs (Mozilla) · sprawdzono 1 listopada 2026
  8. Make calls | Sonetel help · sprawdzono 1 listopada 2026
  9. Free call | Call2Friends - Online call · sprawdzono 1 listopada 2026
  10. Privacy Policy | Globfone · sprawdzono 1 listopada 2026
  11. Voice Calls: Secure, Crystal-Clear, AI-Powered | Telegram Blog (30 March 2017) · Telegram · sprawdzono 1 listopada 2026
  12. Use your camera and microphone in Chrome - Computer - Google Chrome Help · Google · sprawdzono 1 listopada 2026
  13. A Closer Look Into WebRTC | WebKit (3 July 2017) · WebKit (Apple) · sprawdzono 1 listopada 2026
  14. WebRTC API - Web APIs | MDN · MDN Web Docs (Mozilla) · sprawdzono 1 listopada 2026
  15. WebRTC Custom Settings · brave/brave-browser Wiki · Brave Software (official GitHub wiki) · sprawdzono 1 listopada 2026
  16. chrome.privacy | API | Chrome for Developers · Google (Chrome for Developers) · sprawdzono 1 listopada 2026
  17. Chrome Enterprise policy list: WebRtcIPHandling (WebRTC IP handling) · Google (Chrome Enterprise) · sprawdzono 1 listopada 2026
  18. Microsoft Edge Browser Policy Documentation WebRtcLocalhostIpHandling | Microsoft Learn · Microsoft · sprawdzono 1 listopada 2026
  19. Firefox source: modules/libpref/init/all.js (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · sprawdzono 1 listopada 2026
  20. Firefox source: modules/libpref/init/StaticPrefList.yaml (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · sprawdzono 1 listopada 2026
  21. Terms of Use – TextNow · sprawdzono 1 listopada 2026
  22. Privacy Policy – Privacy & Terms – Google · Google · sprawdzono 1 listopada 2026
  23. Call From Your Browser Without a SIM Card - TwinPhone · sprawdzono 1 listopada 2026