HTTP-заголовки в I2P. Почему HTTP-прокси предпочтительнее SOCKS

от автора

Для выхода в скрытую сеть I2P необходимо программное обеспечение — I2P-роутер: i2pd (C++) или I2P (Java). Данное приложение содержит в себе всю внутреннюю логику I2P и обеспечивает взаимодействие с другими участниками сети. Операционная система пользователя не знает что делать с доменными именами «.i2p», поэтому их необходимо передавать напрямую в I2P-роутер посредством прокси на локальном адресе (127.0.0.1:4447 — SOCKS, 127.0.0.1:4444 — HTTP). Аналогичным образом дела обстоят с луковичными доменами «.onion», которые передаются непосредственно в Tor-маршрутизатор без попытки разрешить его наравне с другими доменными именами (ru, com, org и т.п.) через обычный DNS сервер.

В обиходе прокси протоколов закрепились два титана: HTTP и SOCKS. Заметная разница между ними в том, что HTTP-прокси не умеет передавать UDP-трафик, так как фактически работает в текстовом режиме, а SOCKS передает информацию между пользователем и конечным сервером в бинарном виде, что в конечном счете позволяет работать с любым видом трафика и с UDP в том числе, который обеспечивает комфортное использование IP-телефонии, а также позволяет играть в любые онлайн игры.

HTTP-заголовки — неотъемлемая часть протокола HTTP, на котором работают почти все ресурсы в сети интернет, которые вы открываете через веб-браузер. В них передается пользовательский запрос на сервер и информация о клиенте: язык, версия операционной системы, версия веб-браузера и иногда другие идентификационные данные. Основная информация об устройстве передается в значении «User-Agent». Предполагается, что дополнительная информация о клиенте должна помочь серверу предоставить нужную страницу в лучшем виде: на родном языке пользователя, с адаптацией под его браузер и так далее.

Обратите внимание на строку User-Agent. Если речь идет о приватности, то здесь всё плохо. Информация об операционной системе и веб-браузере в совокупности с другими передаваемыми значениями весьма уникальна, чтобы с большой точностью отслеживать (профилировать) пользователя, который может быть не авторизован на сайте и даже регулярно чистить куки.

Любимый многими SOCKS-прокси априори не вмешивается в передаваемые заголовки, так как передает всю информацию в бинарном виде, следовательно, чтобы приватно сидеть через SOCKS-прокси, нужно заменять стандартные заголовки на стороне веб-браузера. В противном случае сервер видит на каком языке вы предпочитаете общаться, какой операционной системой и каким веб-браузером пользуетесь. Между прочим говоря, Tor предоставляет только SOCKS-прокси.

I2P-роутеры имеют оба вида прокси по умолчанию, но рекомендуется использовать именно HTTP-прокси, так как используя его, вы автоматически обезличиваете свой запрос. I2P-роутер отсекает чувствительную информацию о вас и заменяет Uset-Agent загадочной строкой «MYOB/6.66 (AN/ON)», которая одинакова для всех пользователей.

Помимо этого, HTTP-прокси i2pd налету анализирует запрашиваемый URL и в случае отсутствия нужного короткого домена из зоны «.i2p» предлагает обратиться за ним на один из внутрисетевых регистраторов. SOCKS-прокси в аналогичной ситуации просто не сможет найти пункт назначения и пользователь получает в веб-браузере стандартную страницу ошибки.

На вопрос о значении загадочного набора символов в юзер-агенте I2P-роутера мне ответили в чате команды разработчиков:

«MYOB» можно перевести как «Не твое дело», 6.66 — число зверя (отсылка к Библии, книга Откровения Иоанна Богослова aka Апокалипсис), «AN/ON» — просто витиеватая форма слова «аноним».

Лично я не понял причем тут неправославное число, но надеюсь, что это не станет поводом для запрета I2P в России.


ссылка на оригинал статьи https://habr.com/ru/articles/594823/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *