Прокси (proxy) бывают разные - синие, белые, красные

Автор: admin 09 Mar 2009 Отзывы Отзывов: 4

Любой кто озадачивался проблемой анонимности в сети, так или иначе сталкивался с понятием прокси. Разновидностей прокси или proxy серверов существует довольно много. И достаточно мало сводной информации по типам, видам и способам использования прокси. Подкатом заметка, в которой попытаемся пролить свет на некоторые факты, связанные с использованием прокси.

Разновидности прокси

  • HTTP proxy

Наиболее распространенный тип прокси. Как видно из названия - работает по протоколу HTTP. По степени анонимности бывают:

- прозрачные (transparent) - эти proxy не являются анонимными. Они во-первых дают знать, что используется proxy-сервер, а во-вторых “выдают” IP-адрес своего клиента. Задачами таких proxy, как правило, является кэширование информации и / или обеспечение выхода в Internet нескольких компьютеров через одно соединение.

- анонимные - эти proxy дают знать удаленному компьютеру (web-серверу) о том, что используется proxy, однако не выдают IP-адрес своего клиента.

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

- реально анонимные (элитные) - не сообщают удаленному компьютеру Ваш IP-адрес. Более того, они даже не сообщают о том, что используется proxy сервер. То есть web-сервер “считает”, что он работает непосредственно с клиентом - а клиентом для него является proxy.

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

  • HTTPS proxy

или (SSL proxy) - то же самое, что HTTP прокси + поддерживают шифрование по протоколу SSL. Найти такие прокси в свободном доступе можно, но пратически нереально, найденные же не факт, что будут работать долго. Используются в принципе в основном для работы с сайтами использующими протокол HTTPS - различного рода сайты с платным доступом, платежные системы, биллинги и т.п.

  • SOCKS proxy

Могут работать с любыми протоколами(версия SOCKS4(a) - только TCP/IP, SOCKS5 - TCP/IP + UDP + авторизация + удаленный DNS-запрос). Существуют две разновидности SOCKS прокси:

- Socks4 решает вопрос незащищенного пересечения межсетевых экранов приложениями клиент/сервер, основанными на протоколе TCP.

- Socks5 (RFC 1928), является дальнейшим расширением четвертой версии и включает в себя UDP. Socks5 поддерживает tcp, udp, авторизацию и удаленный dns-запрос.

Socks не имеет никакого отношения к http, то данный вид прокси игнорирует все вопросы, связанные с модернизацией заголовков http-запросов. Socks-сервер будет передавать все данные в чистом виде от первого лица — то есть от себя. Другими словами можно сказать (используя терминологию из http), что все Socks-серверы «анонимны». Socks не передает информацию о вашем ip-адресе, потому что это не предусмотрено его технологией. Соответственно отпадает множество проблем — например, кроме того, что он не передает ip-адрес, он, естественно, не модернизирует http-заголовки — и web-сервер никаким образом не может определить, что вы используете прокси. Для него работа с вами будет абсолютно прозрачной, как если бы вы работали с ним непосредственно. С той лишь разницей, что он будет видеть совсем другой ip-адрес.

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

Цели использования

Можно разделить следующие цели:

- использование в основном для небольших задач, вроде парсинга сайтов, где есть ограничение на доступ с одного IP адреса. Особенность - множество разных IP адресов. Минусы: постоянная потребность поиска листов паблик прокси(находящихся в свободном доступе), низкое время жизни, плохой канал, маленький тайаут, негарантированный результат использования. Хотя и существуют программы облегчающие сбор и проверку таких прокси, процесс работы с такими проксями требует постоянного контроля.

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

- использование для конкретных сайтов с защитой от авторегистраций и от доступа через паблик прокси. Тут вообще все очень индивидуально, как правило у таких сайтов существуют блэк-листы, в которых уже есть все возможные паблик прокси. Поэтому лучшее решение - использование SOCKS5 с авторизацией, с большим аптаймом (>90%) у проверенного сервиса, с обязательным тестированием. Особенность - использование одного IP адреса. Лучше не пытаться использовать обычные прокси (http) для таких сайтов - из личного опыта. Также следует помнить, что прокси с авторизацией более предпочтителен чем без, для не массовых задач.

Для тех кто использует CURL

Простое задание курл-опции для работы соединения через прокси:

curl_setopt($ch, CURLOPT_PROXY, ‘XXX.XXX.XXX.XXX:port’);

Задание курл-опций для работы через SOCKS4:

curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);

curl_setopt($ch, CURLOPT_PROXY, ‘XXX.XXX.XXX.XXX:port’);

Задание курл-опций для работы через SOCKS5:

curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

curl_setopt($ch, CURLOPT_PROXY, ‘XXX.XXX.XXX.XXX:port’);

Задание курл-опции для работы через прокси с авторизацией, 1 вариант:

curl_setopt($ch, CURLOPT_PROXY, ‘login:password@XXX.XXX.XXX.XXX:port’);

Задание курл-опций для работы через прокси с авторизацией, 2 вариант:

curl_setopt ($ch, CURLOPT_PROXYUSERPWD, ‘login:password’);

curl_setopt($ch, CURLOPT_PROXY, ‘XXX.XXX.XXX.XXX:port’);

Хинты

Если просто получаете страницу через прокси, прокси можно протестировать на GET запрос - обратившись например к http://google.com/, получить результат - страницу и проверить наличие ‘google’.

Если используется форма отправки, прокси должен быть предварительно проверен на POST запрос (есть прокси не пропускающие POST запрос), сделать это можно отправив POST данные в скрипт на вашем тестовом хостинге и получить/неполучить запрограммированный ответ.

Если установить таймаут соединения, можно отсечь медленные прокси (по опыту - с таймаутом больше 3 секунд), поскольку такие прокси по определению не могут нормально работать.

Успехов ;)

Ссылка на заметку:

Отзывов: 4

Sanek2 пишет:
3:39 28.9.2009

Клёвая инфа, особенно с курл, неплохо бы сделать полные примеры открывания сайтов ч.з курл)

admin пишет:
3:58 28.9.2009

Не даю готовых решений :) Да и проблем работы с прокси особых не бывает. Главное - чтобы живые они были.

miXOnIN пишет:
1:33 13.3.2010

Не плохая инфа!
Сам юзаю курл,вот сейчас появилось такое задание,нужно сделать “чекер” прокси,т.е. если прокси годен - юзать,нет - нет…
Сча буду гуглить на таймауты в курле или чтот тому подобное…

kerido пишет:
2:04 28.4.2010

Основательно и все по делу. Отдельное спасибо за опции CURL.

Оставьте свой отзыв

Имя Сообщение
E-mail (обязательно)
Введите 1 + 3 =