WebRTC и DNS: почему одного прокси мало

WebRTC и DNS: почему одного прокси мало

27.05.2026

Прокси скрывает реальный IP адрес для HTTP/HTTPS-трафика браузера. Но у браузера есть и другие “способы” сообщить свой реальный IP. Два из них стоит проверять отдельно: WebRTC и DNS.

WebRTC и DNS — это нормальные части браузера и сети. Проблема начинается, когда сетевые проверки показывают не согласоввность: сайт открыт через прокси, но WebRTC или DNS leak-тест указывает на другой маршрут.

WebRTC: зачем он вообще нужен

WebRTC используется для P-to-P аудио- и видеозвонков, демонстрации экрана и передачи данных между браузерами. Чтобы найти рабочий путь между двумя сторонами, WebRTC использует ICE. MDN описывает ICE-кандидаты как варианты сетевого соединения, через которые клиенты может общаться напрямую или через промежуточный сервер: WebRTC connectivity. Сам ICE описан в RFC 8445.

В этом месте появляется риск де-маскировки. RFC 8828 прямо говорит, что WebRTC может раскрывать веб-приложению больше информации о локальной сети, чем обычный HTTP-запрос. В документе перечислены понятные случаи: дополнительные публичные IP при нескольких сетевых интерфейсах, приватные адреса за NAT и обход классического application proxy через STUN, если прямой доступ в интернет разрешён.

Проще: если обычная страница видит только IP прокси, WebRTC при плохой настройке может показать настоящий IP адрес.

Как выглядит WebRTC-утечка

Сценарий такой: HTTP-трафик идёт через прокси, но WebRTC собирает ICE-кандидаты по другому маршруту.

В исследовании One Leak Will Sink A Ship автор проверял браузеры и VPN-сервисы и показывал, что WebRTC API мог делать IP-адреса доступными сайту через JavaScript даже при включённом VPN. Исследование старое, поэтому его нельзя читать как описание всех современных браузеров один в один. Но оно хорошо объясняет сам класс проблемы: WebRTC живёт не совсем в том же слое, что обычный запрос страницы.

Почему не всегда стоит просто выключать WebRTC

Выключить WebRTC полностью — самый грубый вариант. Иногда он подходит, но у него есть цена: ломаются звонки, screen sharing, data channels и любые проверки, где сервис ожидает, что WebRTC API работает.

Даже Chrome не сводит вопрос к “включить/выключить”. В Chrome есть политика webRTCIPHandlingPolicy, которая управляет тем, как WebRTC-трафик маршрутизируется и сколько локальной адресной информации раскрывается сайтам. В документации Chrome Extensions перечислены режимы, включая disable_non_proxied_udp: chrome.privacy API. У Chrome Enterprise есть отдельная политика для WebRTC IP handling: Chrome Enterprise policy.

Вывод простой: нормальная цель — не сломать WebRTC, а сделать так, чтобы он не показывал маршрут, который противоречит профилю.

DNS: где может появиться несостыковка

DNS переводит доменное имя в IP-адрес. Cloudflare объясняет это коротко: DNS переводит читаемые домены вроде example.com в IP-адреса, с которыми работают машины: What is DNS?.

DNS-утечка — это ситуация, когда основной трафик идёт через VPN или прокси, а DNS-запросы уходят другим путём. Mozilla объясняет это на примере VPN: DNS-запросы могут выйти вне защищённого туннеля, если VPN настроен неправильно или не маршрутизирует DNS через свою сеть: What is a DNS Leak?.

С прокси важна та же логика: где именно резолвится домен. В документации curl хорошо видно различие между локальным и удалённым DNS. socks5:// означает SOCKS5 с локальным разрешением имени, а socks5h:// — SOCKS5 с разрешением имени на стороне прокси: everything curl: Proxies.

Нужно быть точными: обычный сайт не всегда напрямую видит ваш DNS-резолвер. Поэтому не стоит писать, что “любой сайт сразу узнает DNS”. Правильнее так: DNS-утечка показывает, что сетевой маршрут настроен не полностью. Это можно поймать на DNS leak-тестах, в собственной инфраструктуре или в системах, которые контролируют свои домены и сетевые логи.

Что мы проверяем в 0detect

Для нас WebRTC и DNS — часть единого сетевого профиля. Если профиль работает через прокси, остальные сетевые параметры должны быть согласованы с ним и не создавать конфликтов.

В нашей документации по созданию профиля сеть вынесена в отдельный блок “Соединение”: к профилю можно прикрепить прокси, выбрать прокси из списка и настроить DNS. Для DNS есть режим “Настоящий”: если профиль работает через прокси, DNS берётся в зависимости от прокси; если прокси нет, используется ваш адрес; при необходимости DNS можно указать вручную: Создание профиля.

Там же в общих настройках профиля есть язык, часовой пояс и геолокация. По документации эти параметры по умолчанию подбираются с учётом внешнего IP. Это не про WebRTC напрямую, но про ту же идею: IP, DNS, таймзона, язык и геолокация должны складываться в одну историю.

Для автоматизации порядок тоже важен. В Local API прокси создаётся отдельно, привязывается к профилю через POST /profile/set/proxy, и только после этого профиль запускается: Работа с proxy. Это снижает риск ситуации, когда скрипт уже открыл браузер, а сетевой профиль ещё не соответствует профилю.

Коротко

WebRTC может раскрывать больше сетевой информации, чем обычный HTTP-запрос. DNS может уходить не тем маршрутом, если резолвинг настроен локально или мимо прокси.
Хороший профиль — это не “прокси поверх браузера”. Это браузер, у которого сетевые настройки, отпечаток и география не противоречат друг другу.

Нещодавні статті

Чому однакові антидетект-профілі дають різні результати при масштабуванні
Чому однакові антидетект-профілі дають різні результати при масштабуванні
Є ситуація, через яку проходять майже всі команди, що працюють з мультиакаунтингом. Налаштовуєш профілі, тестуєш на невеликому обсязі — все працює стабільно. Масштабуєш: береш той самий шаблон, запускаєш сотню акаунтів — і результати починають розходитися. Одні профілі працюють без проблем, інші отримують додаткові перевірки або йдуть у блок. В інтерфейсі антидетект-браузера всі налаштування виглядають однаково. […]
27.05.2026
WebRTC і DNS: чому одного проксі мало
WebRTC і DNS: чому одного проксі мало
Проксі приховує реальну IP-адресу для HTTP/HTTPS-трафіку браузера. Але в браузера є й інші «способи» показати свій реальний IP. Два з них варто перевіряти окремо: WebRTC і DNS. WebRTC і DNS — це нормальні частини браузера та мережі. Проблема починається тоді, коли мережеві перевірки показують неузгодженість: сайт відкритий через проксі, але WebRTC або DNS leak-тест указує […]
27.05.2026
Headless Chrome в автоматизації: що насправді видає бота
Headless Chrome в автоматизації: що насправді видає бота
Headless Chrome сам по собі не є «поганим». Це нормальний режим Chrome без видимого вікна. Його використовують для тестів, генерації PDF, скриншотів, моніторингу та внутрішньої автоматизації. Проблеми починаються в іншому місці: коли браузер у режимі headless намагаються видати за звичайного користувача на сайті з антифродом. Тоді сайт дивиться не на один параметр, а на всю […]
27.05.2026

Зробіть свою роботу швидкою та безпечною з 0DETECT Browser

Хочете бути в курсі всіх новин, знижок, акцій? Підпишіться на нашу розсилку та отримуйте актуальну інформацію першими
Слідкуйте за нами в соціальних мережах
Дослідити браузер 0DETECT