Витоки WebRTC
Тест на витік WebRTC: що дзвінок із браузера розкриває про вашу IP-адресу
Розділ: Чи безпечний VoIP? Що захищає дзвінок через браузер, а що він розкриває
Коротко
Тест на витік WebRTC показує кожну IP-адресу, яку ваш браузер передає вебсторінці через WebRTC, щоб ви помітили ту, яку хотіли приховати; зазвичай це адреса вашого інтернет-провайдера при ввімкненому VPN [1]. Дзвінок із браузера на телефонний номер показує ваш IP сервісу дзвінків, а не людині, якій ви дзвоните: вона бачить лише номер абонента [2]. Цей тест — одна з перевірок приватності й безпеки, які я раджу зробити, перш ніж дзвонити з браузера.
Ключові факти
- Правила IETF для WebRTC кажуть, що VPN із роздільним тунелюванням (split tunnel) може дозволити WebRTC виявити публічну адресу вашого інтернет-провайдера на додачу до адреси VPN [1]. Перевірено
- Під час моєї локальної перевірки в Chrome 156 сторінка без дозволу на мікрофон бачила мій комп’ютер лише як випадкове ім’я .local; коли я дозволив мікрофон, вона отримала мою справжню локальну адресу [3][1]. Перевірено
- Messenger пише, що в дзвінках 1:1 ваша IP-адреса передається пристрою співрозмовника [4]; налаштування WhatsApp «Захист IP-адреси під час дзвінків» натомість пускає дзвінки через його сервери [5]. Перевірено
Що таке витік WebRTC?
Перед дзвінком через WebRTC браузер збирає можливі мережеві маршрути, так звані ICE-кандидати, і передає їх вебсторінці, щоб та переслала їх іншій стороні. Кожен кандидат містить IP-адресу або випадкове ім’я .local замість прихованої локальної адреси. Звичайний вебсайт бачить лише публічну адресу, з якої прийшов ваш запит; через WebRTC сторінка може дізнатися більше [1]. Витік — це будь-яка адреса в цьому списку, якою ви не збиралися ділитися.
Як проходить решта дзвінка, я описав у статті WebRTC, SIP і телефонна мережа; для витоків важить лише список кандидатів. MDN зазначає, що їхні адреси завжди відкриті для сторінки [6].
| Тип кандидата | Яку адресу показує | Ризик для приватності |
|---|---|---|
| host | Адресу вашого пристрою в локальній мережі або випадкове ім’я із закінченням .local, якщо браузер її приховує [7][3] | Нижчий, ніж у публічної адреси, але IETF називає приватні IPv4-адреси досить значущим джерелом даних для цифрового відбитка (fingerprinting) [1] |
| srflx (server reflexive) | Публічну адресу, яку ваш роутер або VPN показує STUN-серверу [7] | Високий, якщо це адреса вашого провайдера при ввімкненому VPN [1] |
| relay | Адресу на TURN-сервері, який пересилає медіапотік [7] | Низький: інша сторона бачить адресу ретранслятора, а не вашу [6]; але оператор ретранслятора вас усе одно бачить |
IETF вважає випадок із VPN найважливішим, бо дехто користується VPN, щоб лишатися анонімним [1]. Два інші випадки — ваша приватна адреса і проксі, який перевірки WebRTC оминають, через що розкривається ваша справжня публічна адреса [1].
Чи розкриває дзвінок із браузера вашу IP-адресу?
Сервісу дзвінків — так: кожен вебсайт бачить вашу публічну адресу [1], а дзвінок додає ще й медіаз’єднання із серверами сервісу. Людині, якій ви дзвоните на стаціонарний чи мобільний, — ні: дзвінок виходить з інтернету на шлюзі провайдера [8], а телефонна мережа передає номер того, хто дзвонить, а не IP-адресу [2]. Дзвінки між застосунками можуть з’єднувати два пристрої напряму.
| Тип дзвінка | Сервіс | Людина, якій ви дзвоните |
|---|---|---|
| З браузера на телефонний номер (Google Voice, TwinPhone, Yolla) | Так: він обслуговує медіаз’єднання | Ні: вона бачить номер абонента [2] |
| Безкоштовні вебнабирачі (Call2Friends, Globfone) | Так: Call2Friends обмежує кількість безкоштовних дзвінків на одну IP-адресу, а політика конфіденційності Globfone називає IP-адреси серед технічних даних і журналів, які він обробляє [9][10] | Ні: вона бачить номер абонента |
| Messenger, дзвінок 1:1 | Так | Так: Meta пише, що ваш IP передається іншому пристрою [4] |
| Так | Може, якщо не ввімкнено захист IP-адреси під час дзвінків; групові дзвінки завжди йдуть через ретранслятор [5] | |
| Telegram | Так | Може: в оголошенні Telegram 2017 року сказано, що дзвінки за можливості йдуть напряму між пристроями (peer-to-peer) [11] |
Для дзвінків на справжні номери питання в тому, що сервіс дізнається і зберігає; а що натомість бачить людина, якій ви дзвоните, я пояснюю в статті який номер висвічується, коли дзвониш із браузера.
Як пройти тест на витік WebRTC
Сторінка тесту робить те саме, що й набирач перед дзвінком: відкриває з’єднання WebRTC, питає STUN-сервер, яку публічну адресу він бачить, і виводить кожного кандидата поруч з адресою, яку сама бачить через звичайний HTTP. Запустіть тест у кожному браузері, з якого дзвоните, спершу з вимкненим VPN, а потім з увімкненим.
- VPN вимкнено: відкрийте сторінку тесту, наприклад WebRTC Leak Test від BrowserLeaks. «Your Remote IP» угорі й «Public IP Address» у розділі «Your WebRTC IP» мають збігатися.
- VPN увімкнено: перезавантажте сторінку. «Your Remote IP» тепер має показувати адресу VPN.
- Якщо розділ WebRTC досі показує адресу вашого провайдера, WebRTC іде в обхід тунелю [1].
- Локальний запис, що закінчується на .local, означає, що адресу приховано [3]; відкритий запис, що починається з 192.168. чи 10., — ні.
- Якщо сторінка пропонує перевірку мікрофона, дозвольте її і повторіть тест: набирачеві потрібен доступ до мікрофона, а цей дозвіл може відкрити більше адрес [1]. Потім заберіть дозвіл у налаштуваннях сайту [12].
Що змінилося в Chrome, коли я дозволив мікрофон
я відкрив локальну тестову сторінку в Chrome 156 на Mac без STUN-сервера, тож жодна адреса не пішла на зовнішній сервер. Без дозволу на мікрофон сторінка бачила одного host-кандидата, названого випадковим рядком із закінченням .local [3]. Коли я дозволив мікрофон, вона отримала мою справжню локальну IPv4-адресу.
Це відповідає стандарту, який дозволяє повний список адрес лише за згоди, наприклад дозволу на мікрофон [1]; WebKit, рушій Safari, описав те саме правило у 2017 році [13]. Тож набирач, якому ви дали дозвіл, може бачити вашу локальну адресу: це менший ризик, ніж розкриття публічної [1].
Налаштування браузера, що обмежують витоки WebRTC
Brave документує для користувачів налаштування WebRTC IP. Google документує інструменти Chrome для розширень і адміністраторів, а Microsoft описує налаштування Edge як адміністративну політику. Firefox за замовчуванням приховує локальні адреси й має вимикач в about:config. Одне правило діє скрізь: вимкнення WebRTC зупиняє й браузерні набирачі, бо саме WebRTC передає дзвінок [14].
| Браузер | Налаштування | Що воно змінює | Вплив на дзвінки з браузера |
|---|---|---|---|
| Brave | WebRTC IP handling policy у налаштуваннях приватності, за вікі Brave (востаннє редаговано у 2018 році) [15] | Значення Default Public Interface Only не розкриває жодних локальних адрес [15] | Медіапотік може перейти на ретрансляційний сервер [1] |
| Chrome | Розширення можуть задати WebRTC IP handling policy [16]; адміністратори — політику WebRtcIPHandling [17] | Залежно від значення браузер перестає використовувати приватні адреси або пускає медіапотік лише через проксі [17] | Значення «лише через проксі» можуть перевести звук на TCP, що, за словами IETF, погіршує якість [1] |
| Edge | Адміністративна політика WebRtcLocalhostIpHandling [18] | Два з її значень припиняють розкривати локальну IP-адресу [18] | Як у Chrome |
| Firefox | Локальні адреси приховано за замовчуванням [19]; media.peerconnection.enabled в about:config [20] | Значення false для цього параметра вимикає WebRTC | Браузерні набирачі перестають працювати |
| Safari | Вбудоване правило | Сторінки без доступу до мікрофона чи камери не отримують host-адрес, як описав WebKit у 2017 році [13] | Жодного |
Що змінює VPN для дзвінків із браузера
VPN, що пускає весь трафік через свій тунель, разом із WebRTC, показує сервісу дзвінків адресу VPN замість вашої. VPN із роздільним тунелюванням може дозволити WebRTC знайти ще й адресу вашого провайдера [1], тому тест на витік варто проходити з увімкненим VPN. Крім того, VPN має побічні ефекти для дзвінків.
- Деякі сервіси обмежують VPN: умови TextNow кажуть, що він може обмежувати їх використання [21].
- Деякі безкоштовні набирачі розподіляють безкоштовні дзвінки за IP-адресою, як-от Call2Friends [9], тож через VPN ви можете ділити цей ліміт з іншими користувачами тієї самої вихідної адреси.
- Якщо примусово пустити медіапотік через проксі, що не передає UDP, звук перейде на TCP, а це, за словами IETF, погіршує якість [1].
- Сервіс однаково бачить ваш обліковий запис і записи дзвінків; Google, наприклад, може зберігати номери, час і тривалість дзвінків [22].
Як не розкривати свою IP-адресу під час дзвінків
Підбирайте захист під тип дзвінка. Під час дзвінків на телефонні номери людина, якій ви дзвоните, вашого IP не отримує, тож оберіть сервіс, якому можна його довірити, і перевірте свій VPN. Під час дзвінків між застосунками пристрій співрозмовника може з’єднатися з вашим напряму, тож увімкніть ретрансляцію в застосунку, якщо таке налаштування є.
- Дзвінки з браузера: пройдіть тест на витік з увімкненим VPN; у Brave оберіть Default Public Interface Only [15].
- Мікрофон: на набирачах, якими ви користуєтеся один раз, давайте дозвіл варіантом «Дозволити цього разу» [12]; під час моєї перевірки в Chrome сторінка з цим дозволом могла бачити локальну адресу.
- WhatsApp: увімкніть захист IP-адреси під час дзвінків. Довідкова сторінка описує Android, iOS і Mac, але не вебверсію, і попереджає, що дзвінки через ретранслятор можуть трохи втратити в якості [5].
Часті запитання
Що таке тест на витік WebRTC?
Тест на витік WebRTC — це вебсторінка, яка виконує те саме налаштування з’єднання, що й дзвінок із браузера, і показує кожну IP-адресу, яку пропонує ваш браузер, поруч з адресою, яку сторінка бачить через звичайний HTTP. Якщо в цьому списку при ввімкненому VPN є адреса вашого провайдера, WebRTC іде в обхід тунелю [1]; випадкове ім’я .local означає, що вашу локальну адресу приховано [3].
Чи бачить людина, якій я дзвоню з браузера, мою IP-адресу?
Ні, якщо це дзвінок на стаціонарний чи мобільний. Провайдер перетворює звук із вашого браузера на телефонний дзвінок на своєму шлюзі [23], а телефонна мережа передає номер того, хто дзвонить, а не IP-адресу [2]. З дзвінками між застосунками інакше: Messenger пише, що в дзвінках 1:1 ваш IP передається пристрою співрозмовника [4].
Чи захищає VPN від витоків WebRTC?
VPN, що пускає весь трафік, разом із WebRTC, через свій тунель, — так. VPN із роздільним тунелюванням може не захистити, бо WebRTC здатен виявити публічну адресу провайдера поряд з адресою VPN [1]. Знати напевно можна лише з тесту на витік при підключеному VPN, у кожному браузері, яким ви користуєтеся, і його варто повторювати після оновлень.
Чи небезпечний витік локальної IP-адреси?
Менш небезпечний, ніж витік публічної. Приватна адреса на кшталт 192.168.1.20 не каже, де ви, але IETF називає приватні IPv4-адреси досить значущим джерелом даних для цифрового відбитка, що може пов’язати звичайні й приватні сеанси перегляду на одному пристрої [1]. Firefox приховує локальні адреси за замовчуванням [19], Safari приховує їх від сторінок без доступу до мікрофона чи камери [13], і Chrome у моїй перевірці робив так само.
Чи захищає режим інкогніто від витоків WebRTC?
Ні. IETF зазначає, що приватна адреса, розкрита через WebRTC, може слугувати ідентифікатором, з якого сайт дізнається, що звичайне вікно й вікно приватного перегляду відкриті на одному пристрої [1], тож сам лише приватний режим її не приховує. Скористайтеся налаштуваннями браузера, описаними вище, а потім пройдіть тест на витік і в приватному вікні.
Чи працюють розширення проти витоків WebRTC?
Частково. У Chrome розширення може задати браузеру WebRTC IP handling policy, яку Google описує як компроміс між продуктивністю медіа й тим, скільки інформації про локальні адреси розкривається [16]. Залежно від значення це приховує локальні адреси або змушує медіапотік іти через проксі, що може перевести звук на TCP і погіршити якість [1]. Після встановлення розширення пройдіть тест на витік, щоб переконатися, що зміна спрацювала.
Як вимкнути WebRTC у Firefox?
Введіть about:config в адресному рядку, знайдіть media.peerconnection.enabled і встановіть значення false. Вихідний код Mozilla описує цей параметр як перемикач для RTCPeerConnection, і його вимкнення також забирає в сторінок доступ до API мікрофона [20]. Після цього всі браузерні набирачі перестануть працювати, тож більшості користувачів краще лишити стандартне налаштування Firefox, яке й так приховує локальні адреси [19].
Як зупинити витоки WebRTC у Chrome?
Через розширення або політику, бо саме для цих двох способів Google документує налаштування адрес WebRTC у Chrome. Розширення може задати політику обробки IP-адрес WebRTC [16], а адміністратори можуть задати WebRtcIPHandling, значення default_public_interface_only якої не дає WebRTC використовувати приватні адреси [17]. Під час моєї перевірки в Chrome сторінка без дозволу на мікрофон і так бачила лише випадкове ім’я .local [3]. За VPN справжнє рішення — тунель, який пропускає весь трафік [1]. Усе, що повністю блокує WebRTC, зупиняє й дзвінки з браузера [14].
Чи може сайт побачити мою IP-адресу через WebRTC без запиту?
Публічну адресу — так, але сайти й так її бачать: Safari, наприклад, дає сторінкам без доступу до мікрофона лише ті адреси, які сайт і так міг би зібрати [13]. Підступ — у браузерному проксі. Якщо прямий доступ до інтернету дозволено, перевірки STUN у WebRTC можуть обійти проксі й розкрити вашу справжню публічну адресу [1]. Локальні адреси захищені краще: стандарт прив’язує повний список до згоди, як-от дозволу на мікрофон [1], і під час моєї перевірки в Chrome сторінка без такого дозволу бачила лише випадкове ім’я .local [3].
Запитайте ШІ про це дослідження
Кожна кнопка відкриває асистента в новій вкладці й просить його стисло переказати цю сторінку з посиланням на неї як на джерело.
Джерела
- RFC 8828: WebRTC IP Address Handling Requirements · IETF (RFC Editor) · перевірено 1 листопада 2026 р.
- 47 CFR 64.1601 -- Delivery requirements and privacy restrictions | eCFR · US Code of Federal Regulations (eCFR) · перевірено 1 листопада 2026 р.
- Using Multicast DNS to protect privacy when exposing ICE candidates (draft-ietf-mmusic-mdns-ice-candidates) · IETF (Internet-Draft, work in progress) · перевірено 1 листопада 2026 р.
- Voice call someone or a group on Messenger - Messenger Help Center (Computer) · перевірено 1 листопада 2026 р.
- How to protect your IP address on WhatsApp calls | WhatsApp Help Center · WhatsApp · перевірено 1 листопада 2026 р.
- RTCIceCandidate: address property - Web APIs | MDN · MDN Web Docs (Mozilla) · перевірено 1 листопада 2026 р.
- RTCIceCandidate: type property - Web APIs | MDN · MDN Web Docs (Mozilla) · перевірено 1 листопада 2026 р.
- Make calls | Sonetel help · перевірено 1 листопада 2026 р.
- Free call | Call2Friends - Online call · перевірено 1 листопада 2026 р.
- Privacy Policy | Globfone · перевірено 1 листопада 2026 р.
- Voice Calls: Secure, Crystal-Clear, AI-Powered | Telegram Blog (30 March 2017) · Telegram · перевірено 1 листопада 2026 р.
- Use your camera and microphone in Chrome - Computer - Google Chrome Help · Google · перевірено 1 листопада 2026 р.
- A Closer Look Into WebRTC | WebKit (3 July 2017) · WebKit (Apple) · перевірено 1 листопада 2026 р.
- WebRTC API - Web APIs | MDN · MDN Web Docs (Mozilla) · перевірено 1 листопада 2026 р.
- WebRTC Custom Settings · brave/brave-browser Wiki · Brave Software (official GitHub wiki) · перевірено 1 листопада 2026 р.
- chrome.privacy | API | Chrome for Developers · Google (Chrome for Developers) · перевірено 1 листопада 2026 р.
- Chrome Enterprise policy list: WebRtcIPHandling (WebRTC IP handling) · Google (Chrome Enterprise) · перевірено 1 листопада 2026 р.
- Microsoft Edge Browser Policy Documentation WebRtcLocalhostIpHandling | Microsoft Learn · Microsoft · перевірено 1 листопада 2026 р.
- Firefox source: modules/libpref/init/all.js (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · перевірено 1 листопада 2026 р.
- Firefox source: modules/libpref/init/StaticPrefList.yaml (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · перевірено 1 листопада 2026 р.
- Terms of Use – TextNow · перевірено 1 листопада 2026 р.
- Privacy Policy – Privacy & Terms – Google · Google · перевірено 1 листопада 2026 р.
- Call From Your Browser Without a SIM Card - TwinPhone · перевірено 1 листопада 2026 р.