Виды proxy: информация о прозрачных, искажающих и анонимных proxy

Виды proxy: информация о прозрачных, искажающих и анонимных proxy
просмотров: 800309 августа 2011 года

Обмен информацией в Internet осуществляется по модели "клиент-сервер". Клиент посылает запрос (какие файлы ему нужны), а сервер посылает ответ (запрошенные файлы). Для тесного взаимодействия (так сказать, "полного взаимопонимания") между клиентом и сервером клиент посылает дополнительную информацию о себе: версию и название операционной системы, конфигурацию браузера (включая название и номер версии Вашего браузера) и т.д. Эта информация может быть необходима серверу, чтобы знать какую web страницу предоставить клиенту: для разных конфигураций браузеров могут быть разные варианты web-страниц. Однако, поскольку обычно содержимое web страниц не зависят от браузеров, имеет смысл скрыть от web сервера часть этой информации.

Какая информация передается web серверу (эту информацию в основном передает браузер, однако часть информации может добавлять от себя прокси сервер):

  • название и версия операционной системы
  • название и версия браузера
  • настройки браузера (разрешение экрана, глубина цвета, поддержка java / javascript, ...)
  • IP адрес клиента (если используется proxy, то заменяется proxy сервером на IP proxy)
  • используется ли proxy сервер (если используется proxy, то IP клиента - это IP proxy) - добавляется proxy сервером
  • если используется proxy, то Ваш реальный IP адрес - добавляется proxy сервером
  • другая информация

Важнейшей частью этой информации (и "совершенно ненужной" web серверу) является информация о IP адресе и о факте использования proxy. Ведь используя Ваш IP, о Вас можно узнать очень многое:

  • страну, где Вы находитесь
  • город
  • название Вашего провайдера и его e-mail
  • Ваш физический адрес! (иногда)

Информация, передаваемая клиентом серверу, доступна для сервера в виде так называемых переменных окружения (environment variables). Каждая единица этой информации является значением какой-либо переменной. Если же какая-то часть информации не передается, то соответствующая ей переменная будет пустая (ее значение будет неопределенным).

Какие бывают переменные окружения:

REMOTE_ADDR - IP адрес клиента
HTTP_VIA - если не пустая, значит используется proxy. Значение - адрес (или несколько адресов) proxy сервера.
HTTP_X_FORWARDED_FOR - если не пустая, значит используется proxy. Значение - реальный IP адрес клиента (Ваш IP).
HTTP_ACCEPT_LANGUAGE - какой язык используется в браузере по умолчанию (на каком языке лучше отображать страницу)
HTTP_USER_AGENT - так называемый "агент пользователя". Для большинства браузеров это будет Mozilla. Кроме того, тут же указывается название и версия браузера (например MSIE 5.5) и операционная система (например Windows 98)
HTTP_HOST - имя web-сервера.

Здесь перечислена лишь малая часть переменных окружения. На самом деле их гораздо больше (DOCUMENT_ROOT, HTTP_ACCEPT_ENCODING, HTTP_CACHE_CONTROL, HTTP_CONNECTION, SERVER_ADDR, SERVER_SOFTWARE, SERVER_PROTOCOL, ...) и их количество может зависеть от конфигурации (настроек) как сервера, так и клиента.

Пример значений переменных:
REMOTE_ADDR = 194.85.1.1
HTTP_ACCEPT_LANGUAGE = ru
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
HTTP_HOST = www.webserver.ru
HTTP_VIA = 194.85.1.1 (Squid/2.4.STABLE7)
HTTP_X_FORWARDED_FOR = 194.115.5.5

Анонимность при работе в Internet определяется тем, какие из переменных окружения "скрываются" от web сервера.
Для фильтрования передаваемой серверу информации существуют системы, называемые Firewall (брандмауэры). Proxy сервер также может выполнять (в определенной степени) роль Firewall, "удаляя" информацию о IP адресе клиента.

Если proxy сервер не используется, то переменные окружения выглядят следующим образом:

REMOTE_ADDR = Ваш IP
HTTP_VIA = не определена
HTTP_X_FORWARDED_FOR = не определена

По тому, какие переменные окружения подменяют / "скрывают" proxy серверы, существуют несколько видов proxy.

Прозрачные (обычные, transparent) proxy

Они не скрывают информацию о Вашем IP адресе:

REMOTE_ADDR = IP proxy
HTTP_VIA = IP или имя proxy (используется proxy сервер)
HTTP_X_FORWARDED_FOR = Ваш IP

Функцией таких proxy серверов не является повышение Вашей анонимности в Internet. Они предназначены для кэширования информации, организации совместного доступа в Internet нескольких компьютеров и т.д.

Анонимные прокси (anonymous proxy)

Все proxy серверы, тем или иным способом скрывающие IP адрес клиента, называют анонимными. Хотя существуют несколько вариантов анонимных proxy, как правило, говоря "анонимный proxy сервер" имеют в виду их все, не различая подвиды.

простые анонимные прокси (anonymous proxy)

Эти proxy серверы не скрывают того факта, что используется proxy, однако они подменяют Ваш IP на свой:

REMOTE_ADDR = IP proxy
HTTP_VIA = IP или имя proxy (используется proxy сервер)
HTTP_X_FORWARDED_FOR = IP proxy

Эти proxy наиболее распространены из всех видов анонимных proxy серверов.

искажающие proxy (distorting proxy)

Как и простые анонимные proxy серверы, эти proxy не скрывают того факта, что используется proxy сервер. Однако IP адрес клиента (Ваш) подменяется на другой (в общем случае произвольный, случайный) IP:

REMOTE_ADDR = IP proxy
HTTP_VIA = IP или имя proxy (используется proxy сервер)
HTTP_X_FORWARDED_FOR = случайный IP

элитные анонимные proxy (high anonymous / elite proxy)

В отличие от других видов анонимных proxy серверов элитные прокси скрывают даже сам факт использования прокси сервера:

REMOTE_ADDR = IP proxy
HTTP_VIA = не определена
HTTP_X_FORWARDED_FOR = не определена

То есть значения этих переменных такие же, как и в ситуации, когда proxy не используется, за исключением очень важной "мелочи": вместо Вашего IP адреса стоит IP адрес proxy сервера.

Резюме

В зависимости от целей, с которыми они создавались, существуют прозрачные и анонимные proxy. Однако учтите, что используя анонимный proxy, Вы скрываете от web сервера только Ваш IP, а вся остальная информация (о конфигурации браузера) остается доступной!

Сайт, где есть рабочие прокси-листы: www.proxy-list.org

Самый полный список прокси что я нашел в формате TXT (ежедневно обновляемый): www.nagon.net/proxygen.php?proxy=txt

Сайты для открытия сайта с другой страны: http://proxify.net и http://anonymouse.org

Поделиться

Комментарии (1)

Владимир (13 июня 2012 года, 10:52:49)

Скажем что суть статьи для меня была в
Если proxy сервер не используется, то переменные окружения выглядят следующим образом:
REMOTE_ADDR = Ваш IP
HTTP_VIA = не определена
HTTP_X_FORWARDED_FOR = не определена

Что скажем?