Почему WebRTC определяет мой настоящий IP-адрес? Что такое WebRTC и чем он опасен? Как отключить webrtc Что будем делать

Прежде всего нужно понять, что показ всех IP-адресов вашего компьютера/планшета/телефона посредством WebRTC - это не проблема или недостаток VPN/tor/socks, это проблема и недостаток браузера, которым вы пользуетесь.

Проект WebRTC создан Google для передачи потоковых данных (аудио и видео) преимущественно прямо между браузерами пользователей (p2p-соединения), без участия сторонних программ (например, Skype) или плагинов. Это подразумевает не просто доступ браузера с поддержкой WebRTC к сетевой среде (независимо от используемой операционной системы), а возможность определения публичного и локального IP-адреса посредством протокола STUN для установки p2p-соединения в обход всех видов NAT.

На данный момент известно, что по умолчанию WebRTC включён в браузерах Chrome (с версии 23), Firefox (с версии 22) и Opera (с версии 18), что в общем случае сводит на нет все способы анонимизации для пользователей этих браузеров. Чтобы нельзя было через WebRTC определить ваш публичный и локальный IP-адрес, нужно, как это ни странно, отключить его поддержку.

Отключение WebRTC в Firefox:

  • В адресной строке набрать about:config и нажать Enter
  • В строке Поиск ввести "media.peerconnection.enabled" и выполнить двойной клик по найденной строке, выставив тем самым поле Значение в "false".
Отключение WebRTC в Chrome и Opera:
  • На данный момент неизвестен способ отключения WebRTC средствами самих браузеров, а альтернативные решения в виде расширений мы советовать не можем (ищите и устанавливайте их на свой страх и риск), поскольку их эффективность оставляет желать лучшего. Поэтому, видимо, остаётся только посоветовать не пользоваться этими браузерами, пока разработчики не реализуют возможность отключения средствами самих браузеров (по аналогии с Firefox).
Отключение WebRTC на Android в Chrome:
  • В последних версиях браузера Chrome для Android невозможно отключить WebRTC, хотя такая опция есть в настройках.
  • Если вам нужно использовать браузер с отключенным WebRTC на Android, мы рекомендуем использовать Firefox для Android . На нем вы можете отключить WebRTC по той же самой инструкции для Firefox, которая есть выше.

WebRTC (Web Real Time Communications) — это стандарт, который описывает передачу потоковых аудиоданных, видеоданных и контента от браузера и к браузеру в режиме реального времени без установки плагинов или иных расширений. Стандарт позволяет превратить браузер в оконечный терминал видеоконференцсвязи, достаточно просто открыть веб-страницу, чтобы начать общение.

Что такое WebRTC?

В этой статье мы рассмотрим все, что необходимо знать о технологии WebRTC для обычного пользователя. Рассмотрим преимущества и недостатки проекта, раскроем некоторые секреты, расскажем как работает, где и для чего применяется WebRTC.

Что нужно знать про WebRTC?

Эволюция стандартов и технологий видеосвязи

Сергей Юцайтис, Cisco, Видео+Конференция 2016

Как работает WebRTC

На стороне клиента

  • Пользователь открывает страницу, содержащую HTML5 тег
  • Браузер запрашивает доступ к веб-камере и микрофону пользователя.
  • JavaScript код на странице пользователя контролирует параметры соединения (IP-адреса и порты сервера WebRTC или других WebRTC клиентов) для обхода NAT и Firewall.
  • При получении информации о собеседнике или о потоке со смикшированной на сервере конференцией, браузер начинает согласование используемых аудио и видео кодеков.
  • Начинается процесс кодирования и передача потоковых данных между WebRTC клиентами (в нашем случае, между браузером и сервером).

На стороне WebRTC сервера

Для обмена данными между двумя участниками видеосервер не требуется, но если нужно объединить в одной конференции несколько участников, сервер необходим.



Видеосервер будет получать медиа-трафик с различных источников, преобразовывать его и отправлять пользователям, которые в качестве терминала используют WebRTC.

Также WebRTC сервер будет получать медиа-трафик от WebRTC пиров и передавать его участникам конференции, которые используют приложения для настольных компьютеров или мобильных устройств, в случае наличия таковых.

Преимущества стандарта

  • Не требуется установка ПО.
  • Очень высокое качество связи, благодаря:
    • Использованию современных видео (VP8, H.264) и аудиокодеков (Opus).
    • Автоматическое подстраивание качества потока под условия соединения.
    • Встроенная система эхо- и шумоподавления.
    • Автоматическая регулировка уровня чувствительности микрофонов участников (АРУ).
  • Высокий уровень безопасности: все соединения защищены и зашифрованы согласно протоколам TLS и SRTP.
  • Есть встроенный механизм захвата контента, например, рабочего стола.
  • Возможность реализации любого интерфейса управления на основе HTML5 и JavaScript.
  • Возможность интеграции интерфейса с любыми back-end системами с помощью WebSockets.
  • Проект с открытым исходным кодом — можно внедрить в свой продукт или сервис.
  • Настоящая кросс-платформенность: одно и то же WebRTC приложение будет одинаково хорошо работать на любой операционной системе, десктопной или мобильной, при условии, что браузер поддерживает WebRTC. Это значительно экономит ресурсы на разработку ПО.

Недостатки стандарта

  • Для организации групповых аудио и видеоконференций требуется сервер ВКС, который бы микшировал видео и звук от участников, т.к. браузер не умеет синхронизировать несколько входящих потоков между собой.
  • Все WebRTC решения несовместимы между собой, т.к. стандарт описывает лишь способы передачи видео и звука, оставляя реализацию способов адресации абонентов, отслеживания их доступности, обмена сообщениями и файлами, планирования и прочего за вендором.
  • Другими словами вы не сможете позвонить из WebRTC приложения одного разработчика в WebRTC приложение другого разработчика.
  • Микширование групповых конференций требует больших вычислительных ресурсов, поэтому такой тип видеосвязи требует покупки платной подписки либо инвестирования в свою инфраструктуру, где на каждую конференцию требуется 1 физическое ядро современного процессора.

Секреты WebRTC: как вендоры извлекают пользу из прорывной веб-технологии


Цахи Левент-Леви, Bloggeek.me, Видео+Конференция 2015

WebRTC для рынка ВКС

Увеличение числа ВКС-терминалов

Технология WebRTC оказала сильное влияние на развитие рынка ВКС. После выхода в свет первых браузеров с поддержкой WebRTC в 2013 году потенциальное количество терминалов видеоконференцсвязи по всему миру сразу увеличилось на 1 млрд. устройств. По сути, каждый браузер стал ВКС терминалом, не уступающий своим аппаратным аналогам с точки зрения качетсва связи.

Использование в специализированных решениях

Использование различных JavaScript библиотек и API облачных сервисов с поддержкой WebRTC позволяет легко добавить поддержку видеосвязи в любые веб-проекты. Ранее для передачи данных в реальном времени разработчикам приходилось изучать принципы работы протоколов и использовать наработки других компаний, которые чаще всего требовали дополнительного лицензирования, что увеличивало расходы. Уже сейчас WebRTC активно используется в сервисах вида “Позвонить с сайта”, “Онлайн-чат поддержки”, и т.п.

Ex-пользователям Skype для Linux

В 2014 году Microsoft объявила об прекращении поддержки проекта Skype для Linux, что вызвало большое раздражение у IT-специалистов. Технология WebRTC не привязана к операционной системе, а реализована на уровне браузера, т.е. Linux пользователи смогут увидеть в продуктах и сервисах на основе WebRTC полноценную замену Skype.

Конкуренция с Flash

WebRTC и HTML5 стали смертельным ударом для технологии Flash, которая и так переживала свои далеко не лучшие годы. С 2017 года ведущие браузеры официально перестали поддерживать Flash и технология окончательно исчезла с рынка. Но нужно отдать Flash должное, ведь именно он создал рынок веб-конференций и предложил технические возможности для живого общения в браузерах.

Видеопрезентации WebRTC

Дмитрий Одинцов, TrueConf, Видео+Конференция октябрь 2017

Кодеки в WebRTC

Аудиокодеки

Для сжатия аудио-трафика в WebRTC используются кодеки Opus и G.711.

G.711 — самый старый голосовой кодек с высоким битрейтом (64 kbps), который чаще всего применяется в системах традиционной телефонии. Основным достоинством является минимальная вычислительная нагрузка из-за использования легких алгоритмов сжатия. Кодек отличается низким уровнем компрессии голосовых сигналов и не вносит дополнительной задержки звука во время общения между пользователями.

G.711 поддерживается большим количеством устройств. Системы, в которых используется этот кодек, более легкие в применении, чем те, которые основаны на других аудиокодеках (G.723, G.726, G.728 и т.д.). По качеству G.711 получил оценку 4.2 в тестировании MOS (оценка в пределах 4-5 является самой высокой и означает хорошее качество, аналогичное качеству передачи голосового трафика в ISDN и даже выше).

Opus — это кодек с низкой задержкой кодирования (от 2.5 мс до 60 мс), поддержкой переменного битрейта и высоким уровнем сжатия, что идеально подходит для передачи потокового аудиосигнала в сетях с переменной пропускной способностью. Opus - гибридное решение, сочетающее в себе лучшие характеристики кодеков SILK (компрессия голоса, устранение искажений человеческой речи) и CELT (кодирование аудиоданных). Кодек находится в свободном доступе, разработчикам, которые его используют, не нужно платить отчисления правообладателям. По сравнению с другими аудиокодеками, Opus, несомненно, выигрывает по множеству показателей. Он затмил довольно популярные кодеки с низким битрейтом, такие, как MP3, Vorbis, AAC LC. Opus восстанавливает наиболее приближенную к оригиналу “картину” звука, чем AMR-WB и Speex. За этим кодеком - будущее, именно поэтому создатели технологии WebRTC включили его в обязательный ряд поддерживаемых аудиостандартов.

Видеокодеки

Вопросы выбора видеокодека для WebRTC заняли у разработчиков несколько лет, в итоге решили использовать H.264 и VP8. Практически все современные браузеры поддерживают оба кодека. Серверам видеоконференций для работы с WebRTC достаточно поддержать только один.

VP8 — свободный видеокодек с открытой лицензией, отличается высокой скоростью декодирования видеопотока и повышенной устойчивостью к потере кадров. Кодек универсален, его легко внедрить в аппаратные платформы, поэтому очень часто разработчики систем видеоконференцсвязи используют его в своих продуктах.

Платный видеокодек H.264 стал известен намного раньше своего собрата. Это кодек с высокой степенью сжатия видеопотока при сохранении высокого качества видео. Высокая распространенность этого кодека среди аппаратных систем видеоконференцсвязи предполагает его использование в стандарте WebRTC.

Компании Google и Mozilla активно продвигают кодек VP8, а Microsoft, Apple и Cisco — H.264 (для обеспечения совместимости с традиционными системами видеоконференцсвязи). И вот тут возникакет очень большая проблема для разработчиков облачных WebRTC решений, ведь если в конференции все участники используют один браузер, то конференцию достаточно микшировать один раз одним кодеком, а если браузеры разные и среди них есть Safari / Edge, то конференцию придётся кодировать два раза разными кодеками, что в два раза повысит системные требования к медиа-серверу и как следствие, стоимость подписок на WebRTC сервисы.

WebRTC API

Технология WebRTC базируется на трех основных API:

  • (отвечает за принятие веб-браузером аудио и видеосигнала от камер или рабочего стола пользователя).
  • RTCPeerConnection (отвечает за соединение между браузерами для “обмена” полученными от камеры, микрофона и рабочего стола, медиаданными. Также в “обязанности” этого API входит обработка сигнала (очистка его от посторонних шумов, регулировка громкости микрофона) и контроль над используемыми аудио и видеокодеками).
  • RTCData Channel (обеспечивает двустороннюю передачу данных через установленное соединение).

Прежде чем получить доступ к микрофону и камере пользователя, браузер запрашивает на это разрешение. В Google Chrome можно заранее настроить доступ в разделе “Настройки”, в Opera и Firefox выбор устройств осуществляется непосредственно в момент получения доступа, из выпадающего списка. Запрос на разрешение будет появляться всегда при использовании протокола HTTP и однократно, если использовать HTTPS:


RTCPeerConnection . Каждый браузер, участвующий в WebRTC конференции, должен иметь доступ к данному объекту. Благодаря использованию RTCPeerConnection медиаданные от одного браузера к другому могут проходить даже через NAT и сетевые экраны. Для успешной передачи медиапотоков участники должны обменяться следующими данными с помощью транспорта, например, веб-сокетов:

  • участник-инициатор направляет второму участнику Offer-SDP (структура данных, с характеристиками медиапотока, которые он будет передавать);
  • второй участник формирует “ответ” — Answer-SDP и пересылает его инициатору;
  • затем между участниками организуется обмен ICE-кандидатами, если таковые обнаружены (если участники находятся за NAT или сетевыми экранами).

После успешного завершения данного обмена между участниками организуется непосредственно передача медиапотоков (аудио и видео).

RTCData Channel . Поддержка протокола Data Channel появилась в браузерах сравнительно недавно, поэтому данный API можно рассматривать исключительно в случаях использования WebRTC в браузерах Mozilla Firefox 22+ и Google Chrome 26+. С его помощью участники могут обмениваться текстовыми сообщениями в браузере.

Подключение по WebRTC

Поддерживаемые десктопные браузеры

  • Google Chrome (17+) и все браузеры на основе движка Chromium;
  • Mozilla FireFox (18+);
  • Opera (12+);
  • Safari (11+);

Поддерживаемые мобильные браузеры для Android

  • Google Chrome (28+);
  • Mozilla Firefox (24+);
  • Opera Mobile (12+);
  • Safari (11+).

WebRTC, Microsoft и Internet Explorer

Очень долго Microsoft хранила молчание по поводу поддержки WebRTC в Internet Explorer и в своём новым браузере Edge. Ребята из Редмонда не очень любят давать в руки пользователей технологии, которые они не контролируют, вот такая вот политика. Но постепенно дело сдвинулось с мёртвой точки, т.к. игнорировать WebRTC далее было уже нельзя, и был анонсирован проект ORTC, производный от стандарта WebRTC.

По словам разработчиков ORTC — это расширение стандарта WebRTC с улучшенным набором API на основе JavaScript и HTML5, что в переводе на обычный язык означает, что всё будет то же самое, только контролировать стандарт и его развитие будет Microsoft, а не Google. Набор кодеков расширен поддержкой H.264 и некоторым аудиокодеками серии G.7ХХ, используемыми в телефонии и аппаратных ВКС системах. Возможно появится встроенная поддержка RDP (для передачи контента) и обмена сообщениями. Кстати, пользователям Internet Explorer не повезло, поддержка ORTC будет только в Edge. Ну и, естественно, такой набор протоколов и кодеков малой кровью стыкуется со Skype for Business, что открывает для WebRTC ещё больше бизнес применений.

Определяем, что же такое WebRTC

WebRTC , что переводится с английского как «коммуникации в реальном времени в Интернете » (Web real-time communications), обозначает технологию обмена данных между браузерами и другими приложениями по технологии пиринга, она же «точка-точка». Два браузера двух пользователей могут общаться друг с другом напрямую, минуя любые центральные серверы. WebRTC входит в рекомендации консорциума W3C и поддерживается всеми основными браузерами, включая Chrome, Firefox и Opera.

Что делает WebRTC

С одной стороны, WebRTC полезен. С его помощью можно реализовать сервисы голосовой и видеосвязи типа Skype, при которой два абонента будут соединяться напрямую. В WebRTC используются современные аудио- и видеокодеки (G711, OPUS, VP8). Сторонние разработчики могут создавать любые собственные приложения на базе WebRTC. На этой технологии есть чаты и другие полезные приложения.

Проблема с WebRTC

Вместе с тем WebRTC – большая головная боль для всех, кто хочет обеспечить анонимность и безопасность при работе в сети. Главная проблема в том, что WebRTC очень легко и быстро раскрывает реальный IP-адрес пользователя, от чего не защищают ни прокси, ни VPN, ни Tor, ни популярные плагины типа Ghostery. Для организации аудио- или видеосвязи с помощью WebRTC два компьютера должны обменяться между собой не только публичным, но и Этот процесс реализован настолько открыто и прямолинейно, что запросить адрес можно с помощью простого скрипта на JavaScript. Результат – настоящая дыра в безопасности системы, закрыть которую можно только путем полного отключения WebRTC.

Причины отключить WebRTC

У WebRTC есть и другие проблемы. Он позволяет повысить узнаваемость браузера веб-сайтами, что помогает им отслеживать конкретных пользователей Всемирной паутины (так называемая технология fingerprints – «отпечатки пальцев»). Чем больше отдельно взятый браузер отличается по своим настройкам и поведению от браузеров других пользователей, тем выше его узнаваемость, или уникальность. Это позволяет сайтам идентифицировать пользователей и отслеживать их поведение в Интернете, причем без всяких cookies.

WebRTC снижает эффективность , которыми пользуются для обеспечения анонимности и безопасности. WebRTC позволяет узнать IP-адрес пользователя даже в случае, если он использует VPN и тем более прокси-сервер. Вы сами можете легко это проверить: если у вас есть VPN-доступ , активируйте его и затем зайдите на Whoer.net . Здесь есть специальный параметр WebRTC для определения своего IP-адреса. Как видите, он легко обнаруживается.

Как отключить WebRTC в Firefox:

Конечно, WebRTC не вирус и бояться его как огня не стоит. Но если вы решили серьезно взяться за свою анонимность или безопасность, отключение WebRTC в браузере – одна из главных рекомендаций. Проще всего это сделать в Firefox. Откройте скрытые настройки браузера путем ввода команды about:config в адресной строке:

Теперь найдите в списке параметр media.peerconnection.enabled. Отключите его, выставив значение false .

Посмотрите, как всего за 2,5 минуты отключить WebRTC в Mozilla Firefox — от whoer.net:

Как отключить WebRTC в Chrome:

С этим браузером все немного сложнее. Собственно, WebRTC можно было отключить путем установки плагина WebRTC Block, но в данный момент он не представлен больше для скачивания. Рекомендуется использовать другой браузер.

Поэтому для полноценной безопасности рекомендуется использовать Firefox, в котором реализовано полноценное отключение WebRTC средствами самого браузера. При этом можно дополнительно установить плагин NoScript , блокирующий исполнение всех скриптов в браузере (существует и для Chrome).

Посмотрите, как всего за 2,5 минуты отключить WebRTC в Google Chrome — от whoer.net:

Как отключить WebRTC в Яндекс.Браузер:

Алгоритм отключения WebRTC в Яндекс.Браузере такой же, как и у Chrome, так как он основан на Chromium и имеет общий с Chrome код.

Посмотрите, как всего за 2,5 минуты отключить WebRTC в Yandex — от whoer.net:

Как отключить WebRTC в Opera:

Что касается Opera , к сожалению, на данный момент неизвестны надежные способы отключения WebRTC в этом браузере. Видимо, наиболее действенным советом будет просто прекратить пользоваться браузерами, родственными Chrome, а также Opera.

Посмотрите, как всего за 2,5 минуты отключить WebRTC в Opera — от whoer.net:


  1. Виртуальная машина и VPN | Полная сетевая анонимность"

  2. Почему бесплатные VPN, прокси и анонимайзеры – плохой выбор"

  3. Обзор анонимных операционных систем"

  4. Промокод со скидкой на VPN Whoer.net"

Если пользователь недостаточно внимателен, то может не заметить, что веб-страница с WebRTC кодом внутри получила доступ к его камере и микрофону. Этим, естественно, могут воспользоваться злоумышленники, ведь интернет большой и чего там только нет. Чтобы лишний раз не переживать за сохранность своей личной жизни, WebRTC в браузере можно отключить. Помните, что полное отключение поддержки WebRTC может привести к некорректной работе решений, которые используют эту технологию.

Chrome, Opera, Яндекс.Браузер

На данный момент, нет безопасного способа отключить WebRTC в этих браузерах для настольных компьютеров и ноутбуков.

Мобильные устройства

Firefox на Android

WebRTC отключается вручную аналогично с настольной версией:

  1. В адресной строке браузера введите about:config
  2. Нажмите кнопку «Я обещаю, что буду осторожен!»
  3. Найдите строку «media.peerconnection.enabled»
  4. Двойным кликом измените значение на “false”

Chrome на Android

  1. Откройте браузер
  2. Нажмите «Enable»

Яндекс.Браузер на Android

  1. Откройте браузер
  2. В адресную строку введите: chrome://flags/#disable-webrtc
  3. Нажмите «Enable»
  4. Закройте приложение или перезагрузите устройство

На данный момент, нет безопасного способа отключить WebRTC в Opera для Android.

Протокол WebRTC изначально разрабатывался для браузера Google Chrome. Соответственно, он используется в нём по умолчанию. Для тех, кто не в курсе, WebRTC - это специальная технология для прямой передачи данных между браузерами. Она вызывает утечку вашего IP адреса, поэтому многие пользователи отключают её, чтобы обеспечить себе безопасность.

Чтобы отключить WebRTC в Chrome, нужно использовать специальное расширение WebRTC control для Chrome. Оно позволит включать и выключать технологию нажатием одной кнопки.

Чтобы сделать это нужно:

  1. Запустить Google Chrome.
  2. Открыть меню браузера, находящееся в правом верхнем углу.
  3. Навести курсор на “Дополнительные инструменты и выбрать пункт “Расширения.”

  1. Откроется страница с вашими расширениями. Пролистываем страницу вниз и нажимаем на ссылку “Ещё расширения.”

  1. Вас перебросит в интернет магазин Google Chrome. В строке поиска, в левом верхнем углу экрана, вводим название приложения “WebRTC control” и нажимаем Enter.
  2. В списке приложений выбираем нужное и нажимаем “Установить.”

  1. Во всплывающем окне нажимаем на кнопку “Установить расширение.”

  1. Приложение автоматически установится и будет включено. Оно будет отображено в виде значка на панели расширений в правом верхнем углу. Если приложение работает - его значок будет синего цвета. Включить и отключить WevRTC можно нажатием на этот значок.

К сожалению, WebRTC в Chrome нельзя отключить вручную по крайней мере в ПК версии, поэтому вам в любом случае придётся использовать стороннее расширение.

Отключение WebRTC на Android

Ещё проще отключить WebRTC в Chrome на Android устройствах. Для этого вам даже не потребуется использовать плагин.

  1. Открыть браузер.
  2. В адресную строку ввести команду “chrome://flags/#disable-webrtc” (без кавычек).
  3. После этого устанавливаем значение “Enable”.
  4. На это всё, WebRTC на Android версии Chrome будет отключён.

Как видите, отключить WebRTC несложно как на компьютерной версии браузера, так и на мобильной. Лучше всего не пожалеть времени и сделать это единожды, чтобы не испытывать проблем с безопасностью и утечкой вашего IP адреса. Надеемся, эта инструкция вам помогла и оказалась полезной. Спасибо за внимание!

Если вам всё же непонятно, то смотрите видео, в котором мы расскажем как отключить WebRTC dj всех браузерах.

Loading...Loading...