Безопасность · 7 мин
Утечки WebRTC и DNS через прокси: как проверить и закрыть
- Редакция TrueSocks
- 7 мин чтения
Прокси настроен, сайт проверки показывает нужную страну, а аккаунт всё равно связывают с вашим основным. Частая причина - утечка: браузер сообщает сайту настоящий адрес в обход прокси через WebRTC, отправляет DNS-запросы вашему провайдеру или ходит на IPv6-сайты напрямую. Разберём, откуда берётся каждая утечка, как найти её за пять минут и какие настройки её закрывают.
Коротко
5 пунктов- WebRTC использует UDP и может обращаться к STUN-серверам мимо HTTP-прокси, раскрывая ваш настоящий публичный IP.
- DNS-утечка выдаёт, чьими DNS-серверами вы пользуетесь: через HTTP-прокси её нет, у SOCKS5 всё зависит от настройки удалённого DNS.
- Проверяйте три вещи: IP на сайте, кандидаты WebRTC и список DNS-серверов в тесте утечек.
- В антидетект-браузере выбирайте режим WebRTC с подменой на IP прокси, а не полное отключение.
- В скриптах используйте схему
socks5h://, чтобы имена сайтов разрешались на стороне прокси.
Что такое утечка и чем она опасна
Утечка - это ситуация, когда часть трафика или сведений о вас идёт мимо прокси. Сайт видит IP прокси в основном запросе, но через другой канал получает ваш настоящий адрес или признаки вашего провайдера. Для антифрод-системы это сильный сигнал: адрес из Германии, а WebRTC показывает домашний IP в Москве.
| Утечка | Что раскрывается | Откуда берётся |
|---|---|---|
| WebRTC | Настоящий публичный IP, иногда локальный | UDP-запросы к STUN-серверам в обход HTTP-прокси |
| DNS | DNS-серверы вашего провайдера и их страна | Имена сайтов разрешаются на вашем компьютере, а не на прокси |
| IPv6 | Ваш IPv6-адрес | Прокси настроен только для части трафика, IPv6 идёт напрямую |
| Часовой пояс и язык | Реальный регион | Настройки системы не совпадают со страной прокси |
Сайт сравнивает не один адрес, а набор сигналов. Одна несостыковка может перечеркнуть смысл хорошего прокси.
Как возникает утечка WebRTC
WebRTC - технология видеозвонков и передачи данных прямо между браузерами. Чтобы два браузера нашли друг друга, каждый собирает список своих адресов, так называемых ICE-кандидатов. Часть из них браузер узнаёт, спросив у STUN-сервера: «с какого адреса ты меня видишь?»
Проблема в том, что STUN работает по UDP, а HTTP-прокси передаёт только TCP-соединения. Если браузер не ограничен настройками, UDP-запрос уходит напрямую, и STUN-сервер возвращает ваш настоящий публичный IP. Любой сайт может запустить такой сбор кандидатов скриптом без всяких разрешений и прочитать адрес.
Как возникает утечка DNS
Прежде чем подключиться к example.com, программа должна узнать его IP. Если это делает ваш компьютер, запрос уходит DNS-серверу провайдера, а сайт с помощью специальной техники может узнать, какой резолвер обработал запрос. Так тест утечек видит DNS вашего провайдера, хотя IP показывает прокси.
| Подключение | Где разрешаются имена | Есть ли утечка |
|---|---|---|
| HTTP(S)-прокси в браузере | На прокси: браузер передаёт имя в запросе CONNECT | Нет |
| SOCKS5 в Chrome и Edge | На прокси | Нет |
| SOCKS5 в Firefox без удалённого DNS | На вашем компьютере | Да |
socks5:// в curl и Python | На вашем компьютере | Да |
socks5h:// в curl и Python | На прокси | Нет |
| Proxifier с выключенным DNS через прокси | На вашем компьютере | Да |
Отсюда простое правило: при работе через SOCKS5 всегда включайте разрешение имён на стороне прокси. В Firefox это галочка проксирования DNS-запросов при использовании SOCKS v5 в параметрах соединения, в скриптах буква h в схеме, в Proxifier опция Resolve hostnames through proxy. Про разницу протоколов подробнее в статье HTTP(S) и SOCKS5.
Как проверить утечки за пять минут
Включите прокси и откройте чистый профиль
Расширения и старые cookies могут исказить результат. Удобнее всего проверять в новом профиле браузера или антидетекта.
Проверьте IP
Откройте browserleaks.com/ip или ipleak.net. В поле адреса должен быть IP прокси, страна и провайдер должны совпадать с купленными.
Проверьте WebRTC
На странице browserleaks.com/webrtc посмотрите раздел с публичными адресами. Там должен быть адрес прокси или пусто, но не ваш домашний IP.
Проверьте DNS
Запустите расширенный тест на dnsleaktest.com. В списке серверов не должно быть DNS вашего домашнего или мобильного провайдера.
Проверьте IPv6
Откройте api6.ipify.org. Если показан ваш домашний IPv6, часть трафика идёт мимо прокси.
Сверьте часовой пояс и язык
Сервисы проверки показывают часовой пояс браузера. Он должен соответствовать стране прокси.
Ваш домашний адрес для сравнения узнайте заранее, без прокси: как это сделать, рассказано в статье как узнать свой IP. Полный чек-лист проверки прокси, включая скорость и чёрные списки, есть в статье как проверить прокси.
Как закрыть утечки в Chrome, Edge и Firefox
Chrome и Edge
Встроенного переключателя в настройках нет. Есть два способа:
- Расширение WebRTC Network Limiter от Google. В нём выберите режим, при котором WebRTC не использует UDP в обход прокси. Звонки через прокси могут работать хуже, зато адрес не утекает.
- Корпоративная политика
WebRtcIPHandlingсо значениемdisable_non_proxied_udp. Её задают через реестр Windows или профиль конфигурации macOS, она действует на все профили браузера.
Firefox
network.proxy.socks_remote_dns true
media.peerconnection.ice.proxy_only true
media.peerconnection.ice.default_address_only true
# полностью отключить WebRTC (звонки в браузере перестанут работать)
media.peerconnection.enabled falseПервая настройка отправляет DNS-запросы через SOCKS5, вторая заставляет WebRTC ходить только через прокси, третья ограничивает список адресов основным. Полное отключение WebRTC надёжно, но заметно: часть сайтов проверяет наличие WebRTC, и его отсутствие само по себе выделяет браузер. Пошаговая настройка прокси в браузерах описана в статье настройка прокси в браузере.
Утечки в антидетект-браузере
Антидетект-браузеры решают проблему на уровне профиля. Обычно для WebRTC есть три режима:
Подмена (рекомендуется)
- WebRTC работает, сайты видят обычный браузер
- В кандидатах показывается IP прокси
- Сочетается с автоматическим часовым поясом по IP
Отключение или реальный
- «Отключено»: отсутствие WebRTC выделяет профиль
- «Реальный»: в кандидаты попадает ваш настоящий адрес
- Ручные режимы легко забыть поменять при смене прокси
Выбирайте подмену и автоопределение часового пояса и геолокации по IP прокси. После создания профиля один раз пройдите проверку из раздела выше. Подробности о связке прокси и профилей в статье прокси в антидетект-браузере, а сценарии для рекламных кабинетов на странице прокси для арбитража.
Несостыковки, которые выдают не хуже утечек
Даже если IP, WebRTC и DNS чистые, сайт сравнивает адрес с тем, что сообщает о себе браузер. Каждое расхождение по отдельности не страшно, но вместе они складываются в портрет «человек в Москве с немецким прокси».
| Сигнал | Как сайт его получает | Как привести в порядок |
|---|---|---|
| Часовой пояс | JavaScript, Intl.DateTimeFormat().resolvedOptions().timeZone | Автоопределение по IP в антидетекте, timezoneId в Playwright |
| Язык | Заголовок Accept-Language и navigator.languages | Язык профиля под страну прокси или нейтральный английский |
| Геолокация браузера | API геолокации, если вы дали разрешение | Не давать разрешение или подменять координаты под IP |
| Тип адреса | ASN и списки адресов дата-центров | Для строгих площадок ISP, резидентские или мобильные прокси |
Обратите внимание и на смену адреса. Если аккаунт вчера заходил из Казахстана, а сегодня из Германии, это тоже сигнал, даже без единой утечки. Для аккаунтов держите постоянный адрес одной страны, а подробности о типах адресов найдёте в статье серверные, ISP, резидентские и мобильные.
Утечки в скриптах и системных настройках
В коде WebRTC обычно нет, а вот DNS-утечки встречаются постоянно. Типичный пример - SOCKS5 в curl или Python со схемой без h.
curl -x socks5h://login:[email protected]:1080 https://api.ipify.org
# Python requests
proxies = {"https": "socks5h://login:[email protected]:1080"}Ещё одна ловушка - системный прокси в Windows и macOS. Его учитывают браузеры и часть программ, но многие приложения его игнорируют и ходят напрямую. Если нужно гарантированно завернуть в прокси всю программу, используйте Proxifier с включённым разрешением имён через прокси, а затем проверьте, что сайт видит нужный адрес. Примеры для разных инструментов собраны в статье прокси в curl, wget и Node.js.
Вопросы и ответы
Как проверить утечку WebRTC?
Включите прокси и откройте browserleaks.com/webrtc. Если в публичных адресах виден ваш домашний IP, а не адрес прокси, утечка есть. Для сравнения заранее узнайте свой IP без прокси.
Нужно ли полностью отключать WebRTC?
Обычно нет. Отключённый WebRTC сам по себе выделяет браузер. Лучше ограничить WebRTC работой через прокси или включить в антидетекте режим подмены на IP прокси.
Бывает ли утечка DNS через HTTP-прокси?
В браузере нет: при HTTPS браузер передаёт прокси имя сайта, и адрес определяет прокси. Утечки DNS характерны для SOCKS5 без удалённого разрешения имён и для программ, которые сами разрешают имена.
Чем socks5 отличается от socks5h?
Со схемой socks5h имя сайта разрешается в IP на стороне прокси. Со схемой socks5 это делает ваш компьютер, и DNS-запрос уходит вашему провайдеру.
Прокси для этой задачи
Цена «от» за единицу на базовый срок, страны и скидка за объём видны на странице товара.
- Выбрать страну
Индивидуальные IPv4
68 стран, от 179 ₽ за IP / 30 дней
- Выбрать страну
Мобильные 4G/5G
60 стран, от 349 ₽ за канал / 1 сутки
- Выбрать страну
Резидентские
60 стран, от 149 ₽ за 1 ГБ / 30 дней
- #WebRTC
- #DNS
- #утечки
- #безопасность
- #антидетект
Прокси предоставляются для законных задач. Спам, мошенничество и взлом запрещены, соблюдайте правила площадок. Правила сервиса
Читайте также
Все статьи- SECБезопасность
Как проверить прокси на работоспособность, скорость и гео
Как проверить прокси перед работой: формат строки, подключение через curl, страна по базам геолокации, скорость до нужного сайта, утечки WebRTC и DNS, проверка списка.
7 мин - GDГайды
Прокси в антидетект-браузере: как подключить и проверить
Как подключить прокси в антидетект-браузере: какой тип выбрать, HTTP или SOCKS5, формат строки, проверка, часовой пояс и WebRTC под страну прокси, частые ошибки.
7 мин - GDГайды
Как узнать свой IP-адрес и что сайты видят о вас
Как узнать внешний и внутренний IP на Windows, macOS, Linux, Android и iPhone, чем IPv4 отличается от IPv6 и что сайт узнаёт по адресу: страну, провайдера, ASN.
8 мин