Часто задаваемые вопросы о proxy (proxy FAQ)

Автор Ruterk, 02 ноября 2009, 22:35:16

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Ruterk

Что такое прокси сервер и зачем он нужен?

Proxy сервер - это промежуточный компьютер, который является посредником ("proxy" - посредник) между Вашим компьютером и интернетом. Через него проходят все Ваши обращения в Internet. Proxy их обрабатывает, и результаты (скаченные из Internet файлы) передает Вам.

Proxy-сервер может многое. Он способен:
ускорить Вашу работу с Internet;
сделать Ваше путешествие по Сети анониным;
позволить входить в чаты, даже если Вас заблокировали;
помочь посмотреть те сайты, к которым закрыл доступ Ваш системный администратор;
и многое другое.

Вы можете спросить "А зачем мне нужен какой-то там прокси? Мне и так хорошо". Действительно, еще с детства мы знаем, что кратчайшее расстояние между двумя точками - прямая :-) Но хитрость состоит в том, что нам-то нужно не кратчайшее расстояние, а наилучшая скорость связи. А высокая скорость не обязательно является следствием кратчайшего расстояния.

Представьте себе следующую ситуацию: Вы живете в городе "A", и хотите попасть в далекий город "B" (или к Вам хотят приехать из этого города). Вы можете воспользоваться обычным транспортом - автобусом или железной дорогой. Но ехать таким транспортом до места назначения очень долго. А если Вы с помощью автобуса доберетесь до другого города - "C", где есть аэропорт, то самолетом долетите гораздо быстрее до Вашего пункта назначения (города "B"). Причем город "C" может находиться еще дальше от "B", чем Ваш город "A".

Попросту говоря:

"A" >>>>(поездом)>>>> "B"

получается дольше, чем

"A" >>>(поездом)>>> "C" >>>(самолетом)>>>>"B"

Аналогичная схема используется и тут: Вы соединяетесь с proxy-сервером (из "A" в "C"), а proxy-сервер, используя выделенную линию или оптоволокно (самолет) передает или получает данные с web-сервера (из "C" в "B").

То есть связь без proxy реализуется по следующей схеме:
Ваш компьютер >>>> web-сайты
А при использовании proxy-сервера схема выглядит так:

Ваш компьютер >>>> proxy >>>> web-сайты

где:

запрос на получение файла / странички
установленное соединение с сервером

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

Что может прокси сервер?
(основные возможности прокси серверов)

Как уже было сказано, proxy сервер может многое. В частности он способен:
ускорить Вашу работу с Internet;
сделать Ваше путешествие по Сети более анониным;
позволить входить в чаты, даже если Вас заблокировали;
помочь посмотреть те сайты, к которым закрыл доступ Ваш системный администратор;

Рассмотрим эти и другие возможности более подробно.
За счет чего прокси сервер ускоряет соединение с Internet?

Во-первых, это происходит за счет двух факторов:
proxy-сервер находится близко к Вам - т.е. ближе чем большинство других сайтов, с которыми Вы работаете (скажем если речь идет о западных сайтах, то рекомендуется использовать русский proxy, а если это российские сайты, то лучше использовать proxy-сервер, расположенный в Вашем городе);
у proxy-сервера мощный канал связи (выделенная сеть или оптоволокно) и большой пул (максимальная скорость обмена с Intenet).

В этом случае ускорение происходит за счет того, что:
между Вами и proxy-сервером устанавливается максимальная скорость передачи данных, допустимая вашим оборудованием (за счет того, что proxy близко от Вас): если Вы используете модем, то скорость обмена будет максимально допустимой для Вашей линии связи;
proxy-сервер использует заведомо более высокую скорость связи (за счет мощного канала) с web-сайтами, чем Вы;
поскольку при передаче данных по сети общая скорость обмена данными не может превышать минимальную скорость обмена между промежуточными компьютерами, то у Вас скорость связи как с российскими серверами (скажем Яndex), так и с иностранными (например microsoft) будет одинаковой! И эта скорость будет почти равна скорости обмена между вами и proxy-сервером! (ну...теоретически :-) ).

Во-вторых, ускорение связи с Internet происходит за счет кэширования информации. Кэширование по сути аналогично кэшу в Вашем браузере (где хранятся временные файлы), однако является гораздо более эффективным за счет того, что:
размер кэша в отличие от Вашего компьютера составляет не мегабайты, и даже не десятки мегабайт, а гигабайты;
этот кэш используете не только Вы, но еще десятки (сотни и тысячи) других пользователей. Представьте себе ситуацию: на сервере новостей появилась свежая информация. Первый пользователь обратился к proxy с запросом скачать новости. Proxy скачал новости себе, передал их пользователю, и сохранил в своем кэше. После этого Вы также обращаетесь к proxy за теми же новостями. Proxy-сервер обнаруживает эти новости в своем кэше, и передает их сразу Вам, не скачивая их с сервера новостей (и не тратя на это лишнее время). Таким образом, Вы получаете заметный выигрыш, используя общедоступные proxy-сервера.
Каким образом прокси сервер делает мое путешествие по Internet анонимным?

Когда Вы приходите на какие-либо web-сайты, Ваш компьютер посылает запрос на скачивание страничек, картинок, и т.д. с web-сервера. При этом компьютер передает Ваш IP-адрес - уникальный номер компьютера в Internet. Используя этот адрес, злоумышленник может "подвесить" Ваш компьютер, запустить к Вам вирус, подключиться к Вашему компьютеру и украсть конфиденциальную информацию, и т.д.

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

Однако обращаю внимание: далеко не все proxy-сервера в Internet являются анонимными (подменяют Ваш IP-адрес). Большинство из них предназначено именно для ускорения доступа в Internet, и не "прячет" Ваш IP-адрес. Чтобы найти анонимные proxy-сервера, Вам необходимо воспользоваться программой Proxy Checker (или аналогичной), которую Вы можете скачать из раздела "Программы" сайта www.freeproxy.ru.
Цепочки из proxy серверов

Используя один proxy сервер, Вы можете подключаться к другому proxy, через него - к следующему и т.д., т.е. выстроить цепочку из proxy серверов. Цепочка может состоять как из proxy одного типа (цепочки из HTTP или из socks proxy, цепочки из анонимайзеров), так и из proxy различных типов, например:
socks proxy -> socks proxy -> http proxy -> http proxy ->
- cgi proxy -> cgi proxy -> web сервер

У каждого типа proxy свой способ построения цепочки. Самый сложный - у HTTP proxy (тем более, что не все HTTP proxy позволяют включать себя в цепочку). А самый простой - у CGI proxy.
А что еще может proxy?

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

Классификация proxy для "чайников"

Существует несколько типов proxy серверов. Каждый тип proxy предназначен для решения своего круга задач, однако у них есть много общего, их возможности во многом совпадают.

HTTP proxy
Это наиболее распространенный тип proxy серверов и говоря просто "proxy", имеют в виду именно его. Раньше с помощью этого типа proxy можно было только просматривать web страницы и картинки, скачивать файлы. Теперь же новые версии программ (ICQ и т.п.) умеют работать через HTTP proxy. С этим типом proxy умеют работать и браузеры любых версий.

Socks proxy
Эти proxy сервера умеют работать практически с любым типом информации в Internet (протокол TCP/IP), однако для их использования в программах должно быть явно указана возможность работы с socks proxy. Для использования socks proxy в браузере нужны дополнительные программы (браузеры не умеют сами работать через socks proxy). Однако любые версии ICQ (и многих других популярных программ) отлично могут работать через socks proxy. Напоследок хочу обратить внимание: при работе с socks proxy нужно указывать его версию: socks 4 или socks 5.

CGI proxy (анонимайзеры)
С этим типом proxy серверов можно работать только через браузер. В других программах их использование затруднено (да и не нужно - есть HTTP proxy). Однако поскольку этот тип proxy изначально рассчитан на работу через браузер, использовать их исключительно просто. Вы легко сможете не только задействовать анонимайзер в своей работе, но и без проблем построить цепочку из CGI proxy.


FTP proxy
Этот тип proxy серверов отдельно от корпоративных сетей встречается довольно редко. Обычно его использование связано с тем, что в организации имеется Firewall (система защиты компьютеров от вторжения извне), препятствующий прямому доступу в Internet. Использование proxy этого типа предусмотрено во многих популярных файловых менеджерах (FAR, Windows Commander), download менеджерах (GetRight, ReGet, ...) и в браузерах.
Этот тип proxy является узко специализированным и предназначен для работы только с FTP серверами.

Что такое бесплатный proxy сервер?
Бесплатный proxy - это proxy сервер, который уже настроен и доступен через Internet. Вам не нужно покупать оборудование, устанавливать и настраивать программное обеспечение для функционирования такого proxy - все уже сделано. Достаточно настроить Ваши программы (например браузер Internet Explorer) на работу через такой proxy - и Вы можете работать. Причем такой proxy сервер предоставляет свои услуги совершенно бесплатно (по различным причинам). Как правило, с точки зрения предоставляемого сервиса (кэширование информации) он не отличается от платных proxy серверов, однако в его работе есть некоторые особенности - как преимущества, так и недостатки.

Автор: Alexander Mikhed, mikhed@newmail.ru 
Сайт: http://www.citforum.ru/

Ruterk

Чем отличается бесплатный proxy сервер от платного? (сравнение)

Преимущества платных proxy серверов
Вы сами выбираете сервер по устраивающим Вас характеристикам (таким как время отклика сервера, скорость работы, эффективность кэширования, и т.п.);
Работа сервера стабильна - в случае сбоев в работе Вы можете предъявить свои претензии.

Недостатки платных proxy серверов
Вы должны платить деньги за предоставляемый сервис;
Хотя работа платного proxy-сервера стабильна, в ней возможны сбои. Это особенно обидно - ведь деньги заплатил;
Платный proxy сервер по определению не может быть абсолютно анонимным - достаточно добраться до Вашего прокси, а после этого обратиться в организацию, предоставляющую вам платный proxy сервер. Правда это доступно только организациям типа ФСБ и ЦРУ;
Хотя платные proxy серверы конечно же можно выстраивать в цепочку (ведь Вы сами выбираете сервер, когда покупаете эту услугу), но все же вряд ли Вам по карману оплачивать цепочку скажем из 5 proxy серверов;
Затруднительно (если вообще возможно) переключаться между различными прокси серверами - если конечно Вы не оплачиваете несколько proxy.
Преимущества бесплатных proxy серверов
Конечно же то, что их сервис абсолютно бесплатный;
Легко можно использовать несколько proxy серверов - если Вас не пускают в чат, включил использование proxy - и вперед;
По своим характеристикам (скорость работы, время отклика, и т.п.) бесплатные прокси могут не уступать своим платным собратьям;
В случае, если Ваш proxy сервер является анонимным, то Вас гораздо труднее отследить по сети (например чтобы атаковать);
Вы можете выстроить proxy серверы в цепочку, это резко повысит Вашу анонимность (и, замечу, скорее всего резко понизит скорость обмена данными с Internet);
Недостатки бесплатных proxy серверов
Поскольку сервис является бесплатным, то его качество в 99% случаев оставляет желать много лучшего: низкая скорость работы, постоянные сбои, и т.д. и т.п.;
Практически отсутствуют долго работающие бесплатные proxy. Как правило, через какое-то время они либо переходят в статус платных, либо прекращают работу;
Многие proxy серверы не являются анонимными - весь их смысл работы сводится к кэшированию информации, получаемой из Internet;
Некоторые бесплатные proxy сами по себе не являются безопасными (!) Приведу пример: у меня установлен Firewall, и при подключении к некоторым прокси он фиксирует попытку подключения к моему компьютеру со стороны прокси сервера (используя NetBIOS);
Достаточно сложно найти подходящие Вам бесплатные proxy серверы. Списки бесплатных proxy на 70% повторяют друг друга, более 90% этих списков уже устарела (многие прокси в них - нерабочие).


Зачем нужны постоянные обновления списков бесплатных proxy?

Дело в том, что (как уже отмечалось в недостатках бесплатных proxy) халявные прокси-серверы рано или поздно перестают быть таковыми. Они либо становятся платными, либо прекращают свою работу. А поскольку многие списки бесплатных proxy-серверов в Internet не являются постоянно (и часто!) обновляемыми, то в результате большинство таких списков вообще не содержат работающих халявных прокси-серверов. Списки же, которые обновляются время от времени, нерегулярно, содержат только около 10% работающих proxy.

Примером постоянно обновляемого списка proxy серверов является сервер http://www.checker.freeproxy.ru/checker/last_checked_proxies.php.


Взял бесплатный proxy сервер, но он у меня не работает. Я точно знаю, что он рабочий. В чем дело?

Тут может быть несколько причин:
Прокси сервер работает, но он находится далеко от Вас, и прокси работает так медленно, что просто ответ не успевает дойти до Вашего компьютера - и Вы считаете прокси нерабочим;
Ваш провайдер закрыл доступ к определенным сайтам, а потом обнаружил, что Вы пользуетесь прокси сервером для доступа к запрещенным web-страницам. И провайдер закрыл (для Вас) доступ к этому прокси (только к этому!);
Провайдер прокси сервера (поскольку прокси-сервер - это компьютер, подключенный к Internet, то у него тоже есть свой провайдер) запретил по каким-то причинам доступ к прокси-серверу из Вашей сети (или от Вашего провайдера - конкуренция :-) ). Причины могут быть самыми разными, никак от Вас не зависящими;
Сам прокси-сервер настроен так, что не разрешает пользоваться им из Вашей сети (аналогично пункту 3);
Прокси сервер является корпоративным - то есть имеет список компьютеров, которые могут его использовать (список разрешенных IP адресов). В этом случае даже если Ваш сосед может использовать данный прокси, Вам этот proxy сервер может быть недоступен;
Поскольку прокси сервер является бесплатным, то никаких гарантий его функционирования не дается и не может даваться - т.е. он может время от времени прекращать работать на произвольно долгие периоды времени (по разным причинам);
Ну и наконец.... Вы неправильно настраиваете прокси! Такое тоже бывает.

Резюме: даже если прокси сервер работает "у всех", он может не работать у Вас => не существует 100% рабочих прокси, которые работают везде!


Нужно ли перезагружать Windows или программы, настроив proxy?
Поскольку proxy сервер настраивается отдельно в каждой программе, а не в самой операционной системе, перезагружать Windows не нужно. Более того: Вы можете включать/отключать использование proxy, а также менять proxy сервере, не перезагружая браузер (однако некоторые программы может потребоваться перезагрузить, чтобы новые настройки вступили в силу).


Когда настраивать proxy? До или после выхода в Internet?
Proxy сервер настраивается отдельно в каждой программе, поэтому Вы можете включать / отключать использование прокси сервера в любой момент времени, независимо от того, подключен ли Ваш компьютер к Internet или нет.


Если у меня несколько программ, в какой из них нужно настроить proxy?
Если у Вас несколько программ, работающих с Internet (это могут быть браузеры, download менеджеры, и т.д.), то во всех программах, в которых Вы хотите использовать прокси, Вам необходимо сделать соответствующие настройки. К примеру, Вы можете настроить все программы на использование одного и того же proxy сервера, или же в каждой программе будет использоваться свой proxy.

Исключение представляют собой программы, которые используют настройки Вашего браузера - как настроен браузер (Internet Explorer), так и они будут работать (с proxy или без него).


Как определить тип proxy? Как узнать, что это за proxy - HTTP, SOCKS или CGI?
Прежде всего, отделим эти типы proxy серверов друг от друга по сути:
HTTP proxy - это "обычный" proxy сервер, который встречается наиболее часто. Использовать этот прокси Вы можете, настроив браузер и многие другие программы (в программах должно быть предусмотрено использование proxy сервера, если не указан тип используемого proxy, то это HTTP proxy).
SOCKS proxy - с этим типом прокси серверов браузеры работать не умеют, однако многие популярные программы предусматривают использование этого типа proxy серверов (например ICQ). Если программе требуются такие proxy, тип прокси сервера (SOCKS) всегда указывается, причем практически всегда обязательно указывается подтип (версия) SOCKS proxy сервера: SOCKS 4 или SOCKS 5 (иногда и SOCKS 4a).
Анонимайзеры (CGI proxy) - это web-страница, адрес которой нужно просто набрать в панели адреса браузера (например http://www.anonymizer.com/ ). Не нужно изменять никаких настроек программ, настраивать браузер и т.д. - достаточно просто открыть web страницу. Другие программы (кроме браузеров) в 99,9% случаев не умеют использовать анонимайзеры.

Теперь о "внешних" отличиях между этими типами proxy серверов:
Поскольку CGI proxy - это web-страница, то адрес такого прокси начинается с http:// или https:// и содержит путь к web странице (например http://www.server.com/nph-proxy.cgi ). Анонимайзер (как правило) не имеет номера порта;
HTTP и SOCKS proxy - состоят из имени сервера (хост) и номера порта, которые разделены между собой двоеточием (обычно) или пробелом:
www.server.com:5731 ;
SOCKS proxy - в 90% случаев имеют номер порта 1080, 1081 или аналогичный;
HTTP proxy - в 99% случаев имеют номер порта 80, 8080, 81 или 3128;
Кроме того, определить тип proxy сервера можно, воспользовавшись любым proxy checker-ом: проверив proxy сначала на один, а потом на другой тип (HTTP / SOCKS). В 99,999% случаев прокси либо HTTP либо SOCKS (хотя может быть и тот и другой одновременно);
HTTPS proxy: этот тип прокси серверов является одним из подвидов HTTP, поэтому его можно выделить, только проверив каким-либо proxy checker-ом.


Каскадные прокси или почему адрес прокси, который прописан в браузере, не совпадает с адресом, отображаемым на сайтах?
Симптомы этой ситуации обычно такие: Вы берете какой-то IP адрес прокси, прописываете его у себя в браузере и заходите для проверки на какую-либо страницу проверки прокси. И на этой странице видите совсем другой IP адрес (который тоже не является Вашим IP). Возникает вопрос: почему так?

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

Такие "каскадные прокси" используют свой собственный протокол обмена между прокси серверами - ICP (Internet Caching Protocol). И для таких прокси серверов используются такие понятия как in_addr и out_addr:
in_addr - это тот IP адрес, который Вы указываете в настройках браузера.
out_addr - это тот IP, который отображается на сайтах в поле REMOTE_ADDR.
Для большинства прокси in_addr и out_addr совпадают, однако для таких "каскадных прокси" они будут отличаться. В принципе, даже возможно, что они будут относиться к разным странам.

Что может и чего не может прокси сервер
Прокси сервер - это компьютерная программа, которая активизируется при подключении к определенному порту компьютера (еще говорят, что она "висит" на определенном порту или "привязана" к определнному порту).
И как любая компьютерная программа, прокси сервер имеет массу возможностей по настройке: запрещать доступ куда-либо, вырезать рекламу, и т.д. и т.п.
Что может делать прокси

В случае использования методов GET / POST (обычное перемещение по web сайтам):
запрещать доступ к определенным сайтам (скажем www.porno.com или www.icq.com);
запрещать доступ к сайтам, содержащим на страницах запрещенные ключевые слова (скажем "порно" или даже "прокси")
вырезать определенные фрагменты страниц (баннеры);
запрещать прием файлов с определенным расширением и/или определенного размера (как в Kb, так и размера по габаритам, например баннеров - 468:60), например *.MP3, .ZIP, .EXE, .RAR и т.д.;
протоколировать все перемещения по web страницам и выдавать системному администратору отчет о посещаемых страницах;
запрещать использование любых протоколов (скажем запрещать доступ к https:// и/или ftp:// сайтам);
запрещать доступ с любых компьютеров к этому прокси. То есть вполне возможна ситуация, что у двух рядом стоящих компьютеров один может работать через прокси, а другой - нет.

В случае использования метода CONNECT (подключение к https:// сайтам, построение прокси в цепочку, port mapping через прокси и т.д.), либо в случае использования SOCKS proxy:
полностью запретить использование метода CONNECT (или отключения SOCKS proxy), тогда не будет работать ICQ и нельзя будет подключаться к любым https:// сайтам;
запретить подключение через прокси к определенным серверам (например login.icq.com, и т.д.);
запретить подключение через прокси к определенным портам, например: на 25-й порт (SMTP), на 6667 порт (IRC), на порт 5190 (ICQ);
запретить подключение через прокси к любым портам кроме указанных, например: кроме 443 (тогда это будет HTTPS proxy).
Чего прокси не может делать
Использовать эвристический анализатор - то есть производить семантический анализ содержимого страниц и запрещать ВСЕ сайты, содержащие статьи на определенную тему, независимо от ключевых слов.
При использовании метода CONNECT (или в SOCKS proxy) - фильтровать передаваемую информацию (скажем блокировать страницы по определенным ключевым словам).
Пропускать обратные соединения из интернета (SOCKS 5 это может делать, но это тоже нетривиальная задача).
и многое многое другое :)

Резюме: Прокси сервер - это компьютерная программа и как любой программе, ему присущи как достоинства, так и недостатки. Если администратор настроил прокси и забыл о нем, то прокси сервер всегда можно "обойти". В противном случае Ваши попытки обхода прокси - это борьба с сисадмином, и любые Ваши решения в этой области будут временными - пока сисадмин не обнаружит очередную "дыру" и не "заткнет" ее.


Автор: Alexander Mikhed, mikhed@newmail.ru 
Сайт: http://www.citforum.ru/