Короткий ответ: что такое утечка WebRTC?
Утечка WebRTC — это ситуация, когда браузер показывает веб-сайту IP-адрес, который прокси или VPN должны были скрыть. Обычная веб-страница может открываться через прокси, а WebRTC при этом отдельно проверяет сетевые интерфейсы и прямые маршруты. В результате тест показывает исходный публичный IPv4, IPv6 или локальный адрес, хотя в обычной проверке отображается IP прокси.
Несколько найденных адресов не всегда означают утечку публичного IP. Публичный IPv4, IPv6, частный адрес, имя mDNS и ожидаемый IP выхода имеют разное значение. Для корректной проверки нужно записать исходный IP без прокси, использовать тот же профиль браузера, который применяется в работе, и сравнить каждый результат с ожидаемым маршрутом.
В этой статье разбираются утечки WebRTC, механизм ICE/STUN/TURN, способы проверить наличие утечки WebRTC, варианты устранения и профилактика после обновления браузера, смены сети или переподключения прокси. Отдельно показано, что SOCKS5-прокси может контролировать только трафик, который клиент действительно отправляет через него.
Для чего нужен WebRTC?
WebRTC (Web Real-Time Communication) — набор браузерных технологий для голосовых и видеозвонков, демонстрации экрана и обмена данными в реальном времени. Официальное описание API доступно в документации MDN WebRTC.
При установлении соединения браузер собирает возможные сетевые пути. Такие варианты называются ICE-кандидатами (ICE candidates). В список могут попасть:
- частный IPv4 локального сетевого интерфейса;
- обычный IPv4- или IPv6-маршрут;
- серверно-отражённый адрес, полученный через STUN;
- адрес ретранслятора TURN, если прямое соединение невозможно.
WebRTC, STUN и TURN сами по себе не являются вредоносными механизмами. Риск возникает тогда, когда найденный кандидат не соответствует маршруту, который пользователь собирался защитить.
Как WebRTC может показать IP-адрес?
ICE (Interactive Connectivity Establishment) собирает кандидатов и выбирает рабочий путь. STUN (Session Traversal Utilities for NAT) помогает клиенту определить, как его сетевое отображение выглядит для внешнего сервера. TURN (Traversal Using Relays around NAT) передаёт трафик через ретранслятор, когда прямой путь недоступен.
Расширение браузера может проксировать обычные HTTPS-запросы, но WebRTC при этом способен проверять локальный интерфейс или прямой UDP-маршрут. На результат влияют браузер, операционная система, DNS, IPv6, VPN с раздельной маршрутизацией, прокси-клиент и сетевые политики.
Как отличить публичный IP, частный IP, IPv6 и mDNS
| Результат проверки | Что он может означать | Это автоматически доказывает утечку публичного IP? |
|---|---|---|
| Ожидаемый публичный IPv4 прокси или VPN | Адрес выхода, видимый через настроенный маршрут | Обычно соответствует плану проверки, но вывод ограничен этой средой |
| Публичный IPv4 домашнего или офисного провайдера | Прямой или обходной маршрут | Требует расследования |
| Глобально маршрутизируемый IPv6 | IPv6-путь, который не попал в IPv4-туннель | Нужно проверить IPv6 и split tunneling |
| Частный IPv4 | Адрес локальной сети, например 192.168.x.x или 10.x.x.x | Это не то же самое, что публичный адрес провайдера |
Имя .local или результат mDNS |
Локальный кандидат, представленный через Multicast DNS | Сам по себе не доказывает, что все маршруты защищены |
| Кандидаты отсутствуют | Скрипт заблокирован, тест не завершился или функция не поддерживается | Это не доказательство полной защиты |
mDNS (Multicast DNS) может заменить локальный адрес непрозрачным локальным именем. Поэтому результат .local нельзя автоматически считать ни серьёзной утечкой, ни подтверждением полной конфиденциальности.
Что утечка WebRTC не означает автоматически
Результат теста WebRTC не означает, что сайт получил доступ к содержимому камеры или микрофона. Он также не раскрывает автоматически пароль, полный домашний адрес или все характеристики браузера. Утечка WebRTC, браузерный отпечаток, связь через Cookie и утечка DNS — разные проблемы, которые нужно проверять отдельно.
Почему прокси или VPN не всегда предотвращают утечки WebRTC?
Роли ICE, STUN и TURN
Порядок сбора и выбора кандидатов описывает RFC 8445 об ICE. RFC 8489 о STUN описывает получение серверно-отражённого адреса, а RFC 8656 о TURN — работу ретранслятора. RFC 8656 заменяет RFC 5766, на который ссылаются многие более ранние материалы.
Главное различие — между маршрутизацией приложения и политикой соединений браузера. Прокси браузера может обрабатывать HTTP и HTTPS, но это не доказывает, что ICE-кандидаты, UDP, DNS, IPv6 и медиапакеты используют тот же IP выхода.

Прокси приложения и VPN с полной маршрутизацией
| Способ подключения | Что обычно маршрутизируется | Что нужно проверить дополнительно |
|---|---|---|
| Прокси-расширение браузера | Запросы, которыми управляет расширение | Разрешения, правила обхода, политику WebRTC |
| Системный HTTP-прокси | Трафик приложений, соблюдающих системную настройку | Используют ли браузер и WebRTC эту настройку |
| SOCKS5-прокси | Соединения и функции, поддержанные конкретным клиентом | Клиент, DNS-режим, UDP и маршрутизацию браузера |
| VPN-приложение | Трафик внутри VPN и заданных правил split tunneling | IPv4, IPv6, UDP, DNS и исключения приложений |
| Полный сетевой туннель | Более широкий системный маршрут | Фактическую конфигурацию клиента и таблицу маршрутов |
SOCKS5 — это протокол прокси, а не самостоятельный слой шифрования и не гарантия анонимности. При настройке Socks5.IO проверьте формат подключения и способ аутентификации в разделе протоколы резидентских прокси. Само наличие слова SOCKS5 в настройках не доказывает, что WebRTC использует тот же маршрут.

Почему тип IP-прокси не определяет результат
Резидентские, статические резидентские, мобильные и датацентровые прокси описывают происхождение IP-адреса. Они не определяют, будет ли браузер собирать ICE-кандидаты через прямой интерфейс. Стабильный IP помогает сравнивать результаты при одинаковых условиях, но не меняет политику WebRTC автоматически.
Если для длительного сравнения нужен один и тот же выход, можно рассмотреть статический резидентский прокси при условии, что выбранный продукт и аккаунт поддерживают такой сценарий. Стабильность упрощает диагностику, но не означает, что весь WebRTC-трафик браузера обязательно пойдёт через этот IP.
Что проверить в IPv4, IPv6 и UDP
Даже если IPv4-прокси или VPN выглядит корректно, в системе может оставаться отдельный IPv6-маршрут. Ограничение UDP влияет на WebRTC-звонки, а VPN или браузер могут применять split tunneling к отдельным приложениям. Не следует считать отключение IPv6 или UDP универсальным исправлением: это может нарушить обычную связь. Каждое изменение должно быть обратимым и проверяться в реальной рабочей среде.
Как проверить наличие утечки WebRTC
Шаг 1. Запишите исходный IP без прокси
Используйте тот браузер и ту сеть, которые планируется проверять. Запишите публичные IPv4 и IPv6, время, операционную систему, версию браузера и тип сети до включения прокси или VPN. На корпоративном или учебном устройстве нельзя самовольно отключать утверждённые средства защиты ради эксперимента.
Шаг 2. Включите фактическую конфигурацию прокси или VPN
Примените настройки, которые будут использоваться в рабочем процессе. Зафиксируйте ожидаемую страну выхода, протокол, порт, способ аутентификации и состояние сессии. Обычная проверка IP показывает маршрут веб-запросов, но не заменяет тест WebRTC. Пароли, токены, Cookie и полные данные аккаунта не должны попадать в журналы и скриншоты.
Для настройки в Chrome можно использовать инструкцию по прокси для Chrome, если её продукт, протокол и способ аутентификации соответствуют вашей точке подключения.

Шаг 3. Запустите тест WebRTC
Откройте проверенный тест WebRTC в том же профиле браузера. Дождитесь завершения и запишите публичные IPv4 и IPv6, частные адреса, mDNS-результаты, время и версию страницы, если она указана. Если адреса не показаны, это может означать блокировку скрипта или ошибку выполнения, а не полную анонимность.
Шаг 4. Сопоставьте результаты
Сравните каждый найденный адрес с исходным базовым значением и ожидаемым IP выхода прокси или VPN. Появление публичного IP домашнего провайдера, который был виден до включения защиты, требует проверки WebRTC-политики, IPv6, split tunneling и области действия прокси. Несовпадение города само по себе не доказывает утечку: базы геолокации могут ошибаться.
Шаг 5. Повторите проверку
Повторите тест при тех же условиях. Если результат меняется, проверьте расширения, VPN, IPv6, сетевое подключение и сам тестовый сайт. Второй независимый тест помогает исключить неисправный скрипт, но разные сервисы могут показывать разные типы ICE-кандидатов. Записывайте версии браузера, расширений, VPN и прокси-клиента, а не только один скриншот.
Как интерпретировать типичные результаты
| Результат | Первичная интерпретация | Следующий шаг |
|---|---|---|
| Отображается только ожидаемый IP прокси | В этом тесте неожиданный публичный адрес не обнаружен | Повторить после изменения браузера или сети |
| Появился публичный IP провайдера | Возможен прямой или обходной маршрут | Проверить WebRTC, IPv6, split tunneling и область прокси |
| Показан только частный IP | Видна информация локального интерфейса | Оценивать отдельно от утечки публичного IP |
| Появился неожиданный IPv6 | IPv6 может идти вне защищённого маршрута | Проверить VPN, прокси-клиент и настройки IPv6 |
Появился адрес .local |
Возможно, показан mDNS-кандидат | Сопоставить с другими кандидатами, не делать вывод только по нему |
| Результат пустой | Тест мог быть заблокирован или не завершён | Проверить, выполнился ли скрипт |
Как устранить утечку WebRTC
Выберите исправление по требованиям к WebRTC
| Требование | Возможный контроль | Основной компромисс |
|---|---|---|
| WebRTC не нужен | Ограничить или отключить WebRTC | Могут перестать работать звонки, демонстрация экрана и данные в реальном времени |
| Звонки WebRTC нужно сохранить | Ограничить прямые маршруты или использовать совместимый туннель | Возможны изменения совместимости и качества связи |
| Используется VPN | Проверить IPv4, IPv6, UDP, DNS и split tunneling | Результат зависит от VPN-клиента и политики |
| Используется прокси | Проверить область браузера, протокол, аутентификацию и WebRTC | Обычный прокси может не контролировать ICE-кандидаты |
| Устройство управляется организацией | Использовать утверждённые политики браузера и сети | Личные расширения могут быть запрещены или переопределены |
Chrome, Edge и браузеры на Chromium
Используйте документированную политику текущей версии браузера или проверенное расширение. Не применяйте неизвестные скрипты «в один клик». Уточните, ограничивает ли инструмент UDP вне прокси, меняет обработку кандидатов или полностью отключает WebRTC: последствия у этих режимов разные.
Проверьте правила обхода прокси и другие расширения, способные менять маршрутизацию. Упомянутая выше инструкция Socks5.IO для Chrome помогает сверить параметры подключения, но не подтверждает, что WebRTC в Chrome использует тот же маршрут. Перед изменением политики запишите способ восстановления. Старые экспериментальные флаги нельзя считать стандартным решением без подтверждения в документации текущей версии.
Firefox
В Firefox есть настройки конфиденциальности, которые могут ограничить или отключить WebRTC, но названия и последствия зависят от версии. Разделяйте полное отключение WebRTC и ограничение отдельных путей кандидатов. Полное отключение может нарушить звонки и демонстрацию экрана. После одного изменения запустите тот же тест и проверьте нужный WebRTC-сервис.
Brave
Проверьте актуальные настройки конфиденциальности и WebRTC в используемой версии Brave для компьютера или мобильного устройства. Антитрекинговая функция не превращает браузер в полноценный сетевой туннель. После изменения настройки проверяйте реальные публичные кандидаты, а не только название режима в браузере.
Safari
В macOS, iOS и iPadOS доступны разные элементы управления. Процедуру для настольного расширения нельзя автоматически переносить на мобильный Safari. Если в браузере нет нужной настройки, проверьте утверждённую системную конфигурацию сети или клиента и повторите тест в той Wi-Fi или мобильной сети, которая будет использоваться в работе.
Если браузерных настроек недостаточно
Проверьте split tunneling VPN, IPv6, UDP, режим DNS и списки исключений. Убедитесь, что несколько прокси-расширений или VPN-клиентов не переопределяют друг друга. Меняйте только одну переменную за раз. Не отключайте по умолчанию проверку сертификатов, межсетевой экран или все функции IPv6.
Как убедиться, что утечка устранена
Чек-лист повторной проверки
- Перезагрузите страницу или перезапустите браузер, если это требуется изменённой настройкой.
- Запустите тот же тест WebRTC в том же профиле.
- Убедитесь, что IP, который должен оставаться скрытым, больше не отображается.
- Проверьте обычный веб-доступ через ожидаемый маршрут.
- Проверьте необходимые голосовые, видео-, экранные или функции передачи данных.
- Повторите тест после переключения на рабочую Wi-Fi/мобильную сеть или рабочую прокси-сессию.
Что доказывает успешный тест, а чего не доказывает
Успешный результат означает, что в проверенных условиях — браузер, устройство, сеть и тестовая страница — неожиданный адрес не был показан. Это не доказывает полную анонимность, защиту всех приложений или сохранение результата после обновления браузера. Тест WebRTC также не подтверждает отсутствие DNS-утечки, браузерного отпечатка, Cookie или связи с аккаунтом.
Как предотвратить утечку WebRTC
Повторяйте проверку после изменений
Повторяйте тест после обновления браузера, VPN или прокси-клиента; после смены Wi-Fi или мобильной сети; после переподключения прокси или смены сессии; после добавления или удаления расширения; после изменения IPv6, UDP, DNS или split tunneling. Так можно заметить, что прежнее исправление перестало работать в новых условиях.
Храните базовую конфигурацию
Записывайте версии ОС и браузера, VPN или прокси-клиент, протокол, порт, способ аутентификации, ожидаемый IP выхода, дату проверки, необходимые WebRTC-функции и процедуру отката. Если результат изменится, переменные можно восстановить по журналу, а не по памяти.
Не смешивайте конфликтующие сетевые слои
Не включайте одновременно несколько прокси-расширений с неясной областью действия. Проверяйте split tunneling VPN и правила обхода браузера. Обычную проверку веб-IP нельзя считать проверкой WebRTC. Для каждого профиля браузера и сетевой среды храните отдельные результаты.
Что могут и чего не могут контролировать прокси Socks5.IO
Что контролирует прокси
Прокси предоставляет сетевой выход для трафика, который клиент действительно отправляет через него. В зависимости от продукта, клиента и документированной настройки он может поддерживать заданную локацию или стабильную точку сравнения. Перед подключением сверьте протокол, порт, аутентификацию и доступные параметры с документацией выбранного продукта.
Что прокси не контролирует автоматически
Прокси не решает, включён ли WebRTC в браузере, как собираются ICE-кандидаты, какие расширения могут менять поведение и куда операционная система направляет IPv6 и UDP. Он также не удаляет Cookie, историю аккаунта или признаки браузерного отпечатка.
Как использовать прокси при расследовании утечки
- Запишите исходный результат без прокси.
- Настройте запланированный адрес прокси-сервера.
- Проверьте обычный IP выхода браузера.
- Отдельно запустите тест WebRTC.
- Сравните публичные IPv4, IPv6, частные адреса и mDNS.
- Измените браузерную или сетевую настройку и повторите тест.
Проверка endpoint показывает маршрут, заданный клиентом, а тест WebRTC — кандидаты, которые показывает браузерный слой связи в реальном времени. Ни один из этих тестов сам по себе не гарантирует полной анонимности.
Утечка WebRTC и другие виды утечек
| Проблема | Что раскрывается | Чем отличается от утечки WebRTC |
|---|---|---|
| Утечка WebRTC | Адреса кандидатов соединения в реальном времени | Связана с ICE и политикой соединений браузера |
| Утечка DNS | DNS-запросы уходят к неожиданному резолверу | Относится к разрешению имён, а не к ICE-кандидатам |
| Утечка IPv6 | IPv6-трафик выходит вне ожидаемого маршрута | Может обойти конфигурацию, рассчитанную только на IPv4 |
| Браузерный отпечаток | Canvas, WebGL, шрифты, часовой пояс и другие признаки | Для идентификации не обязательно раскрывать IP |
| Связь через Cookie или аккаунт | Состояние входа и история действий | Сессии связываются на уровне приложения |
Исправление одной проблемы не подтверждает отсутствие остальных.
Заключение
Понять, что такое утечка WebRTC, можно только разделив обычную веб-маршрутизацию и соединения браузера в реальном времени. Сначала определите тип обнаруженного адреса, затем сравните его с исходным значением и ожидаемым выходом. После этого проверяйте браузерную политику, VPN, прокси-клиент, IPv6, UDP и DNS по отдельности.
Повторяйте тест после обновлений, смены сети и переподключения прокси. Socks5.IO может предоставить настроенный сетевой выход для проверки, но тип IP и протокол SOCKS5 не управляют WebRTC автоматически. Защищённый результат определяется фактической конфигурацией браузера и сети, а не только названием прокси.




