Русская Википедия:Captive portal

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Captive portal — сетевой сервис, требующий от подключившегося к Сети пользователя выполнить некоторые действия для получения доступа в Интернет. Обычно используется для взимания платы, аутентификации абонента либо показа рекламы. Впервые[1] описан специалистами Стэнфордского университета в 1999 году[2].

При попытке зайти на любой сайт с устройства, MAC-адреса которого captive portal не знает, http-запрос перенаправляется на стартовую страничку портала. Технически перенаправление делается либо с помощью искажённого ответа на DNS-запрос, либо средствами маршрутизатора. Как правило, в ответ на изначальный запрос приходит HTTP-ответ с кодом 302, но в 2012 году было предложено специально для таких случаев ввести код 511[3].

Поскольку сценарий работы с captive portal корректно себя ведёт только в браузере при обращении к не-https сайту, большинство современных клиентских операционных систем после подключения к сети выполняет проверку на его наличие:

  • Android, начиная с версии 4, через несколько секунд после подключения запрашивает с одного из серверов компании Google файл с названием generate_204 и, не получая в http-ответе кода 204, создает соответствующее уведомление, при нажатии на которое в браузере открывается captive portal.
  • Windows и Windows Phone используют сервис Шаблон:Lang-en2, который запрашивает файл с сайта, принадлежащего Microsoft, ожидая получить предопределённое содержимое. В некоторых случаях сверяется с эталоном IP-адрес сайта, возвращаемый DNS-сервером. При обнаружении captive portal так же, как и в Android, формируется уведомление для пользователя[4].
  • iOS-устройства, так же, как Windows, запрашивают файл (с одного из нескольких сотен[5] принадлежащих Apple сайтов) и сверяют его содержимое. В случае обнаружения captive portal во всплывающем окне открывается Шаблон:Lang-en2, представляющий собой браузер без поддержки HTTP cookies.

Многие системы Captive portal уязвимы для атак посредника[6]. Возможны проблемы с перенаправлением пользователей, подключающихся с устройств, не распознающих captive portal и открывающих сайты, форсирующие использование https (например, с включенной технологией HSTS). По данным разработчиков Chrome, около 5 % сообщений об ошибках SSL/TLS вызвано Captive порталами[7].

См. также

Примечания

Шаблон:Примечания

Ссылки