Что такое прокси и для чего они нужны?
Proxy сервер - это промежуточный компьютер, который является посредником ("proxy" - посредник) между Вашим компьютером и интернетом. Через него проходят все Ваши обращения в Internet. Proxy их обрабатывает, и результаты (скаченные из Internet файлы) передает Вам. Proxy-сервер может многое. Он способен:
- ускорить Вашу работу с Internet;
- сделать Ваше путешествие по Сети анониным;
- помочь посмотреть те сайты, к которым закрыл доступ Ваш системный администратор;
- и многое другое.
За счет чего прокси сервер ускоряет соединение с Internet?
Во-первых, это происходит за счет двух факторов:- proxy-сервер находится близко к Вам - т.е. ближе чем большинство других сайтов, с которыми Вы работаете (скажем если речь идет о западных сайтах, то рекомендуется использовать русский proxy, а если это российские сайты, то лучше использовать proxy-сервер, расположенный в Вашем городе;
- у proxy-сервера мощный канал связи (выделенная сеть или оптоволокно) и большой пул (максимальная скорость обмена с Intenet).
- между Вами и proxy-сервером устанавливается максимальная скорость передачи данных, допустимая вашим оборудованием (за счет того, что proxy близко от Вас): если Вы используете модем, то скорость обмена будет максимально допустимой для Вашей линии связи;
- proxy-сервер использует заведомо более высокую скорость связи (за счет мощного канала) с web-сайтами, чем Вы;
- поскольку при передаче данных по сети общая скорость обмена данными не может превышать минимальную скорость обмена между промежуточными компьютерами, то у Вас скорость связи как с российскими серверами (скажем Яndex), так и с иностранными (например microsoft) будет одинаковой! И эта скорость будет почти равна скорости обмена между вами и proxy-сервером! (ну...теоретически ).
- размер кэша в отличие от Вашего компьютера составляет не мегабайты, и даже не десятки мегабайт, а гигабайтыразмер кэша в отличие от Вашего компьютера составляет не мегабайты, и даже не десятки мегабайт, а гигабайты;
- этот кэш используете не только Вы, но еще десятки (сотни и тысячи) других пользователей. Представьте себе ситуацию: на сервере новостей появилась свежая информация. Первый пользователь обратился к proxy с запросом скачать новости. Proxy скачал новости себе, передал их пользователю, и сохранил в своем кэше. После этого Вы также обращаетесь к proxy за теми же новостями. Proxy-сервер обнаруживает эти новости в своем кэше, и передает их сразу Вам, не скачивая их с сервера новостей (и не тратя на это лишнее время). Таким образом, Вы получаете заметный выигрыш, используя общедоступные proxy-сервера.
Каким образом прокси сервер делает мое путешествие по Internet анонимным?
Когда Вы приходите на какие-либо web-сайты, Ваш компьютер посылает запрос на скачивание страничек, картинок, и т.д. с web-сервера. При этом компьютер передает Ваш IP-адрес - уникальный номер компьютера в Internet. Используя этот адрес, злоумышленник может "подвесить" Ваш компьютер, запустить к Вам вирус, подключиться к Вашему компьютеру и украсть конфиденциальную информацию, и т.д. Для того чтобы этого не произошло, Вы можете установить на своем компьютере мощные системы защиты - Firewall. Однако, это не является панацеей - любую программу можно взломать. Поэтому в качестве дополнительных мер защиты, Вам имеет смысл использовать анонимный proxy-сервер. При обращении к web-серверам proxy "подменит" Ваш IP-адрес на свой, и злоумышленник будет пытаться вторгнуться не к Вам, а на proxy-сервер (у которого гораздо более мощная система защиты). Однако обращаю внимание: далеко не все proxy-сервера в Internet являются анонимными (подменяют Ваш IP-адрес). Большинство из них предназначено именно для ускорения доступа в Internet, и не "прячет" Ваш IP-адрес. Чтобы найти анонимные proxy-сервера, Вам необходимо воспользоваться программой Proxy Checker (или аналогичной). Цепочки из 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 - 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-страница, адрес которой нужно просто набрать в панели адреса браузера. Не нужно изменять никаких настроек программ, настраивать браузер и т.д. - достаточно просто открыть web страницу. Другие программы (кроме браузеров) в 99,9% случаев не умеют использовать анонимайзеры;
- Поскольку CGI proxy - это web-страница, то адрес такого прокси начинается с http:// или https:// и содержит путь к web странице . Анонимайзер (как правило) не имеет номера порта;
- HTTP и SOCKS proxy - состоят из имени сервера (хост) и номера порта, которые разделены между собой двоеточием (обычно) или пробелом
- 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-ом;
Что может делать прокси
В случае использования методов GET / POST (обычное перемещение по web сайтам):- запрещать доступ к определенным сайтам;
- запрещать доступ к сайтам, содержащим на страницах запрещенные ключевые слова (скажем "порно" или даже "прокси");
- вырезать определенные фрагменты страниц (баннеры);
- запрещать прием файлов с определенным расширением и/или определенного размера (как в Kb, так и размера по габаритам, например баннеров - 468:60), например *.MP3, .ZIP, .EXE, .RAR и т.д.;
- протоколировать все перемещения по web страницам и выдавать системному администратору отчет о посещаемых страницах;
- запрещать использование любых протоколов (скажем запрещать доступ к https:// и/или ftp:// сайтам);
- запрещать доступ с любых компьютеров к этому прокси. То есть вполне возможна ситуация, что у двух рядом стоящих компьютеров один может работать через прокси, а другой - нет;
- полностью запретить использование метода CONNECT (или отключения SOCKS proxy), тогда не будет работать ICQ и нельзя будет подключаться к любым https:// сайтам;
- запретить подключение через прокси к определенным серверам (например login.icq.com, и т.д.);
- запретить подключение через прокси к определенным портам, например: на 25-й порт (SMTP), на 6667 порт (IRC), на порт 5190 (ICQ);
- запретить подключение через прокси к любым портам кроме указанных, например: кроме 443 (тогда это будет HTTPS proxy);
Чего прокси не может делать
- Использовать эвристический анализатор - то есть производить семантический анализ содержимого страниц и запрещать ВСЕ сайты, содержащие статьи на определенную тему, независимо от ключевых слов.
- При использовании метода CONNECT (или в SOCKS proxy) - фильтровать передаваемую информацию (скажем блокировать страницы по определенным ключевым словам).
- Пропускать обратные соединения из интернета (SOCKS 5 это может делать, но это тоже нетривиальная задача).
- и многое многое другое :)