как понять что прокси работает
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Всё о прокси: виды, как пользоваться, как проверить качество прокси
Оглавление
Что такое прокси, чем они различаются, виды прокси
В этой статье мы рассмотрим всё самое важное о прокси: что такое прокси, какие бывают виды прокси, чем они различаются. Мы заглянем во внутрь их работы: увидим, как эти прокси раскрывают наш настоящий IP в своих заголовках и научимся самостоятельно перепроверять анонимность прокси.
Прокси — это программа, которая выполняет действие для другой программы, то есть является посредником. Весь этот процесс называется проксированием.
Веб прокси — это разновидность прокси, которые предназначены для выполнения запросов к веб-сайтам и веб-приложениям.
Веб-прокси могут быть использованы для следующих целей:
На самом деле, что прокси, что веб-прокси — это собирательное название, которое включает в себя много различных программ и протоколов для выполнения данной функции.
Поскольку иногда прокси используются для анонимности и сокрытия реального IP адреса, необходимо чётко представлять как они работают и варианты их настройки, чтобы точно понимать возможные риски.
Зададимся вопросом: использование веб-прокси означат ли, что наш IP адрес обязательно скрыт от сайта, к которому мы обращаемся? Ответим на этот вопрос чуть позже.
Рассмотрим виды прокси с технической точки зрения, а именно по видам протоколов:
HTTP прокси: позволяют посещать веб-сайты и загружать файлы по протоколу HTTP (запросы передаются в виде обычного текста, без шифрования).
HTTPS прокси: (также называются SSL прокси): с этими прокси вы можете просматривать сайты по протоколам HTTP и HTTPS (данные передаются в зашифрованном виде). Со специальным программным обеспечением они могут использоваться с любым протоколом, таким как SOCKS прокси.
Необходимо отметить, что рассмотренные выше прокси не скрывают перед третьей стороной (к которой они делают запрос) тот факт, что к ней обращается прокси. Довольно часто они добавляют HTTP заголовки, характерные для прокси, а иногда даже (в зависимости от настроек) могут показывать в заголовках IP адрес узла, для которого они делают запрос. То есть, использование прокси не означает что ваш IP адрес надёжно скрыт от сайта, к которому вы обращаетесь!
SOCKS 4 прокси: может использоваться с любым TCP/IP протоколом с любым адресом назначения и портом. В отличие от HTTP-прокси-серверов, SOCKS передаёт все данные от клиента, ничего не добавляя от себя, то есть с точки зрения конечного сервера, данные, полученные им от SOCKS-прокси, идентичны данным, которые клиент передал бы напрямую, без проксирования. SOCKS более универсален, он не зависит от конкретных протоколов уровня приложений (5-го уровня пятислойной гибридной модели) и оперирует на уровне TCP-соединений (4‑й уровень гибридной модели). Зато HTTP-прокси кэширует данные и может более тщательно фильтровать содержимое передаваемых данных.
SOCKS 5: в дополнении к возможностям SOCKS 4, также может использовать UDP протокол, делать DNS запросы и использовать функцию BIND для перенаправления портов, поддерживает доменные имена и адреса IPv6. И, пожалуй, главной отличие — это поддержка аутентификации. То есть можно установить логин и пароль, без которых невозможно пользоваться прокси.
Какой тип прокси выбрать? В первую очередь это зависит от того, какие типы прокси поддерживает программа, которой вы собираетесь пользоваться. Если она поддерживает только один вид прокси, то ответ очевиден. Если поддерживается несколько видов прокси, то предпочтение можно отдать SOCKS 5 как самому универсальному варианту.
Анонимность прокси
Анонимность это интересный вопрос — в данном случае мы говорим об анонимности для сайта, к которому выполняется запрос. Владелец прокси в любом случае видит IP. Но сам прокси может передавать IP адрес и сайту, для которого делается запрос. Рассмотрим следующую классификацию прокси по анонимности:
Без анонимности: удалённый хост знает ваш IP адрес и знает, что вы используете прокси.
Низкая анонимность (ещё называют прозрачными, транспарентными прокси): удалённый хост не знает ваш IP, но знает, что вы используете прокси.
Средняя анонимность: удалённый хост знает, что вы используете прокси и думает, что знает ваш IP, но этот IP не ваш (это обычно многосетевые прокси, которые для целевого хоста показывают свой входящий интерфейс как REMOTE_ADDR).
Высоко анонимные: удалённый хост не знает ваш IP и не имеет прямых доказательств использования прокси (строк HTTP заголовков, которые любят отправлять прокси). Если такие хосты не отправляют дополнительных строк заголовков, то их можно рассматривать как высоко анонимные. Если анонимный прокси поддерживает keep-alive, то его можно считать крайне анонимным. Тем не менее такие хосты скорее всего являются honey-pot (приманками, для наблюдения за действиями пользователей и выявления новых способов атак и совершённых взломов).
Нужно отметить, что такое разделение по видам анонимности применим только к HTTP прокси. И основывается такое разделение только на том, добавляют ли эти прокси заголовки к вашему запросу или нет — далее мы сможем своими глазами увидеть эти заголовки.
SOCKS4/5 в принципе не может ничего добавить к заголовкам HTTP протокола, поскольку работают на другом уровне (на уровне протокола TCP).
HTTPS (SSL) прокси также не могут добавить никакие заголовки, поскольку HTTPS трафик проходит через них в зашифрованном виде. Тем не менее обычно HTTPS прокси также поддерживают и работу с HTTP — и если с сайта придёт запрос с использованием этого протокола, то прокси может отправить ваш IP адрес в заголовке. Запомним это — эта информация нам очень скоро пригодиться: то есть заголовки можно добавлять только к HTTP трафику, но HTTPS прокси не является гарантией анонимности, поскольку сайт может отправить запрос по HTTP протоколу и мы не знаем, как поведёт себя прокси.
Можно ещё упомянуть другие свойства прокси: аптайм (какую долю времени они доступны, то есть работают), их пропускную способность, принадлежность к стране и другие характеристики.
Где скачать списки прокси
Подготовленные списки прокси (спарсенные адреса и порты записаны в удобном для применения формате):
Как включить прокси
Прокси можно включить на уровне приложения или на уровне операционной системы.
При включении прокси в определённой программе, только она будет выходить в Интернет через прокси, а остальные приложения будут подключаться напрямую.
При включении прокси на уровне операционной системы это не гарантирует, что все программы будут выходить в Интернет через прокси — некоторые программы игнорируют системные настройки прокси.
О включении прокси на уровне операционной системы смотрите разделы (в самих статья рассказывается о проксировании трафика через Tor, но настройка прокси идентичная — просто указывайте IP и порт своего прокси):
Включение прокси в веб-браузерах
Браузеры Google Chrome, Opera и Internet Explorer используют одни и те же настройки. Т.е. внесённые изменения будут действовать сразу для всех трёх браузеров. В любом из них перейдите к настройкам Прокси, откроется такое окно:
В окне нажмите «Настройка сети». В открывшемся новом окне поставьте галочку «Использовать прокси сервер для локальных подключений…»:
Станет активной кнопка «Дополнительно», нажмите её. Выберите нужный тип прокси и введите его IP и порт:
Нажмите во всех окнах ОК для сохранения сделанных настроек.
Как самому проверить анонимность прокси
Нам необязательно доверять информации об уровне анонимности прокси — мы можем выполнить самостоятельную проверку.
Схема довольно проста:
Для реализации необходим хостинг сайтов — любой, главное, чтобы была поддержка PHP. На этот хостинг закидываем файл с содержимым:
Теперь включаем прокси и открываем этот файл в веб-браузере.
Конечно, вы можете настроить это сами и выполнять проверки без сторонних сервисов, но для целей этой статьи, я написал небольшой сервис, который ищет и подсвечивает добавляемые прокси заголовки. Сервис для определения, используется ли прокси и уровня анонимности прокси: http://suip.biz/ru/?act=proxy-checker. Обратите внимание, что важно открыть адрес именно по HTTP протоколу (а не HTTPS).
Страница покажет все HTTP заголовки, которые пришли с вашей стороны, если имеются специфичные для прокси заголовки, они будут подсвечены красным:
Как видно, заголовками, которые выдают использования прокси, являются:
В них X-Forwarded-For содержит реальный IP пользователя прокси! Заголовок Via содержит какие-то данные о самом прокси — иногда его IP, иногда его локальный IP, хотя может содержать что-угодно.
Реальный IP пользователя могут выдать следующие HTTP заголовки, которые добавляет прокси:
На эти заголовки нужно обращать особое внимание.
Некоторые прокси добавляют типичные заголовки (то есть выдают факт использования прокси), но при этом скрывают настоящий IP пользователя:
Рассмотрим популярные заголовки, которые добавляют прокси:
Forwarded
Раскрывает информацию о клиенте, подключённому к веб-серверу через HTTP прокси. Эта информация меняется или теряется, когда прокси является одним из промежуточных звеньев в запросе.
X-Forwarded-For
Фактический стандарт для определения исходного IP-адреса клиента, подключающегося к веб-серверу через HTTP-прокси или балансировщик нагрузки. Вытесняется заголовком Forwarded.
X-Forwarded-Host
Фактический стандарт для идентификации исходного хоста, запрошенного клиентом, в заголовке HTTP-запроса Host, поскольку имя хоста и/или порт обратного прокси-сервера (балансировщика нагрузки) может отличаться от исходного сервера, обрабатывающего запрос. Вытесняется заголовком Forwarded.
X-Forwarded-Proto
Фактический стандарт для идентификации исходного протокола HTTP-запроса, поскольку обратный прокси-сервер (или балансировщик нагрузки) может связываться с веб-сервером с использованием HTTP, даже если запрос к обратному прокси-серверу — HTTPS. Альтернативная форма заголовка (X-ProxyUser-Ip) используется клиентами Google, общающимися с серверами Google. Вытесняется заголовком Forwarded.
Информирует конечный сервер о прокси, через который был отправлен запрос. Этот заголовок добавляется прямыми и обратными прокси, он может появиться в заголовках запросов и заголовках ответов.
Примеры реальных заголовков:
X-Proxy-ID
Я не нашёл описание этого заголовка — по названию можно понять, что это идентификатор прокси сервера, либо идентификатор конкретного запроса.
Другие способы выявления прокси
Есть и другие способы косвенного подтверждения, что удалённый пользователь использует средства анонимизации. С ними можно познакомиться на соответствующих онлайн сервисах, которые пытаются найти прорехи в ваших прокси:
Многие способы привязаны к браузеру и JavaScript: утечка DNS, разные временные зоны IP и в браузере и так далее.
Более-менее универсальным способом является сканирование портов удалённого пользователя. Суть техники простое: у прокси открыты определённые порты, если при сканировании портов удалённого пользователя удалось найти стандартные для прокси порты, значит запрос пришёл через прокси. Этот сервис также сканирует несколько портов и выводит о них информацию. Пример удачно найденного порта прокси:
Заголовки запроса браузера Tor
Tor это тоже SOCKS5 прокси. Но SOCKS5 не добавляет какие-либо заголовки. Правда, сам браузер Tor удаляет (точнее, не отправляет) некоторые заголовки для повышения анонимности. Такое поведение выдаёт запросы от браузера Tor:
Сканирование портов тоже может дать намёки на использование Tor’а:
Но, самое главное — список IP адреса Tor общедоступен.
Заключение
Как мы увидели, в проверке анонимности прокси нет ничего сложного — достаточно просмотреть заголовки, которые приходят на удалённый сервер.
SOCKS прокси ничего не добавляют и не выдают IP адреса пользователя. Но при использовании прокси всегда нужно помнить о HoneyPots.
Также нужно понимать, что прокси сервер может вести журнал в котором хранятся IP адреса пользователей.
Чек-лист проверки анонимности сёрфинга
Несколько дней назад на хабре проскочила заметка об определении пользователей VPN. В комментариях я опубликовал ссылку на наш сервис с похожей функциональностью, написанием которого я совсем недавно занимался.
Главная идея — определить, скрывается пользователь во время сёрфинга в сети или нет, и по возможности узнать его реальный IP адрес. Есть несколько интересных фишек, которые в принципе я нигде не встречал (двусторонний пинг, сопоставление пар DNS leak/ISP).
Хотелось иметь под рукой этакий чек-лист, который бы отвечал, «палишься» ты или нет? На данный момент список состоит из 12 методов проверки, о которых ниже и пойдет речь, в том числе о том, как на них не попасться, но сначала о самом простом по порядку.
Заголовки HTTP proxy
Некоторые прокси дописывают свои заголовки к запросу, который инициирует браузер пользователя. Нередко это реальный IP адрес пользователя.
Убедитесь, что прокси сервер если и пишет что-то в заголовки указанные ниже, то хотя бы не ваш адрес:
HTTP_VIA, HTTP_X_FORWARDED_FOR, HTTP_FORWARDED_FOR, HTTP_X_FORWARDED, HTTP_FORWARDED, HTTP_CLIENT_IP, HTTP_FORWARDED_FOR_IP, VIA, X_FORWARDED_FOR, FORWARDED_FOR, X_FORWARDED, FORWARDED, CLIENT_IP, FORWARDED_FOR_IP, HTTP_PROXY_CONNECTION
Открытые порты HTTP proxy
IP адрес, с которого пришел запрос к нашей страничке может сказать о многом. Можно например посмотреть какие на той стороне открыты порты?
Самые интересные порты 3128, 1080, 8123. Если их не использовать, то вполне можно избежать необоснованных подозрений в использовании 3proxy, SOCKS 5 или Polipo.
Открытые порты web proxy
Отдается веб страничка? Отлично! На данный момент мы умеем определять PHProxy, CGIProxy, Cohula и Glype.
Нестандартные порты с авторизацией закрывают вопрос.
Подозрительное название хоста
Имея IP адрес можно попробовать отрезолвить хостнейм клиента. Стоп слова, которые могут намекать на туннель: vpn, hide, hidden, proxy.
Не стоит привязывать доменные имена к личному VPN, а если и делать это, то стоит избегать «говорящих» имён.
Разница во временных зонах (браузера и IP)
Исходя из данных GeoIP можно узнать страну по IP пользователя, а следовательно и его временную зону. Дальше можно вычислить разницу во времени между браузером и временем соответствующим временной зоне VPN сервера.
Разница есть? Значит пользователь наверняка скрывается.
Для России точной базы latitude и longtitude для регионов нет, а так как временных зон много, то в конечном результате эти адреса мы не учитываем. С Европейскими странами всё наоборот, очень хорошо они палятся.
При переключении на VPN нужно не забывать переводить системное время, менять время в браузере, либо работать с русскими прокси.
Принадлежность IP к сети Tor
Если ваш IP адрес это Tor нода из списка check.torproject.org/cgi-bin/TorBulkExitList.py, поздравляю, вы спалились.
Ничего криминального, но уже факт раскрытия того, что вы скрываетесь, не очень радует.
Режим браузера Turbo
Собрав диапазоны IP адресов Google, Yandex и Opera, и сравнив с пользовательским адресом, можно предположить использование сервисов сжатия трафика в браузерах соответствующих компаний.
Как правило такие сервисы ещё и сливают ваш реальный адрес в заголовках. Как на средство анонимизации, рассчитывать на сжатие трафика не следует.
Определение web proxy (JS метод)
Сравнив window.location.hostname с хостом запрошенной страницы, можно определить используется ли web proxy.
Веб прокси в принципе не надёжны, поэтому лучше обходить такие способы анонимизации совсем.
Утечка IP через Flash
Adobe Flash очень хорошо работает мимо пользовательских прокси. Инициировав соединение к нашему серверу, можно узнать IP пользователя.
Запустив специального демона, который логгирует все входящие соединения с ключами-метками, можно многое узнать. Лучший способ не раскрывать свой адрес — не использовать Adobe Flash вообще, или отключать в настройках браузера.
Определение туннеля (двусторонний пинг)
Запустив пинг к клиентскому IP, со стороны нашего сервера, можно узнать приблизительную длинну маршрута. То же самое можно сделать со стороны браузера, XMLHTTPRequest дёргает пустую страницу нашего nginx. Полученную разницу в петле более 30 мс можно интерпретировать как туннель.
Конечно маршруты туда и обратно могут различаться, или веб сервер чуть притомозит, но в целом точность получается довольно хорошая.
Единственный способ защититься — запретить ICMP трафик к своему VPN серверу.
Утечка DNS
Узнать какой DNS использует пользователь не проблема, мы написали свой DNS сервер, который записывает все обращения к нашим уникально сгенерированным поддоменам.
Следующим шагом собрали статистику на несколько миллионов пользователей, кто и какой DNS использует. Сделали привязку к провайдерам, отбросили публичные DNS и получили список пар DNS/ISP.
Теперь совсем не сложно узнать, если пользователь представился абонентом одной сети, а использует DNS совсем от другой.
Частично проблему решает использование публичных DNS сервисов, если это можно назвать решением.
Утечка через ВКонтакте
Это не утечка IP адреса, но всё же мы считаем, что отдавая всем налево и направо имена авторизованных пользователей, VK сливает частные данные, которые подрывают на корню всё анонимность серфинга.
Как проверить качество прокси? Примеры на TargetProxy.
Как проверить прокси на качество? Специальные сервисы покажут определяется ли ваш прокси как качественный или нет.
Как проверить качество прокси?
Как проверить прокси на качество? Специальные сервисы покажут определяется ли ваш прокси как качественный или нет.
Для проверок мы взяли один из наших прокси (от TargetProxy). Страна этого прокси Россия (город Москва). IP-адрес этого прокси — 185.249.172.185. Далее мы настроили и подключили прокси нанашем рабочем компьютере.
Сайт whoer.net
Подключив прокси мы зашли на whoer.net. С помощью этого сайта можно оценить качество наших прокси. Проверить то, какие данные прокси передает.
Как видно на скриншоте выше прокси имеет положительную оценку. DNS корректно определяется, при выбранной стране Россия, DNS определяется Российский.
Проверки на Proxy, Anonymizer и Blacklist также пройдены успешно. Это говорит о чистоте прокси.
Операционная система определена корректно — MacOS X, поскольку проверка производится с MacBook. При проверке с Windows будет определяться Windows.
Данные Timezone верные. И заголовки данные передаются корректно, передаются заголовки с устройства MacBook. WebRTC тоже прошел проверку.
Whoer.net — имеет бесплатную онлайн-версию. Проверить свои прокси может любой желающий.
Сайт getipintel.net
Ещё один сервис getipintel.net. Он на основе продвинутого матиматического аппарата вычисляет вероятность использования технологий скрывающих настоящий ip-адрес.
Этот сервис при проверке должен показывать значение меньше 1. При значениях от 0−0.5 прокси считается качественным.
Как видно на скриншоте выше сервис определяет наши прокси как надежные и качественные.
Сайт whatleaks.com
Дополнительно можно провести проверку на сервисе whatleaks.com. С помощью этого сервиса можно узнать на сколько хорошо вас защищают прокси и корректную ли информацию они передают.
Как мы видим со скриншота выше результат проверки на Blacklist отличный. Прокси имеют положительные оценки на headers, hostname, useragent, time check.
На этом сервисе наши прокси так же имеют положительные оценки.
TargetProxy — неиспользованные, анонимные прокси IPv4 и IPv6 с поддержкой HTTP(s) и Socks5 с высокой скоростью, стабильной работой и круглосуточной технической поддержкой.
Как проверить прокси: 10 сервисов
В последнее время возросла актуальность обеспечения анонимности при работе в интернете. Для этого существует масса способов: VPN, анонимайзеры и специальные браузеры, но наиболее надежным вариантом является использование прокси-сервера. Он представляет собой дополнительное звено между вами и сайтом. В результате ресурс считает, что прокси — это реальный человек. Также прокси-сервера помогают:
Как проверить работоспособность прокси?
Главная проблема работы с прокси — огромные различия в характеристиках серверов. Одни сервисы будут предоставлять вам идеальное соединение, тогда как другие не позволят вам загрузить даже одну страницу. Для того чтобы выбрать идеальный прокси-сервер, вам понадобится прокси-чекер. Он является отдельным ресурсом, который предоставляет вам всю информацию о работе сервиса. Благодаря ему вы сможете узнать:
Сами прокси-чекеры также отличаются по своим характеристикам. Одни сервисы предоставляют возможность одновременно проверить proxy только одного сервера и подходят для индивидуального пользования. Другие же предназначены для многопоточной проверки огромного количества серверов и дают разнообразную систему фильтров для подбора оптимального варианта. В данном случае для каждого пользователя будет свой идеальный выбор.
Мы подобрали для вас 10 лучших прокси-чекеров, доступных на данный момент. Они помогут вам подобрать идеальный прокси-сервер и не беспокоиться о его работоспособности и скорости соединения. Каждый сервис обладает своими преимуществами, поэтому мы постарались отразить их в рамках предоставленного короткого описания.
Кстати, купить качественный приватный прокси можно у наших партнеров https://youproxy.ru/.
Hidemy.name
Сервис, предоставляющий бесплатную проверку прокси на работоспособность. Кроме этого прокси-чекер выводит информацию о типе сервера, его местоположении, скорости соединения и степени анонимности. Алгоритм Hidemy.name распознает различные типы прокси, что позволит вам запускать проверку даже при наличии лишних пробелов во введенном адресе.
Proxysale
Простой прокси-чекер, предназначенный для проверки валидности прокси-серверов. Результат выводится в формате таблицы, где указана доступность сервиса, его местоположение, скорость и уровень анонимности. Также на сайте вы можете арендовать персональный приватный прокси.
Proxy Checker
Сервис предоставляет простую и быструю проверку прокси-сервера на работоспособность и анонимность. С его помощью вы также узнаете местоположение полученного IP-адреса и уровень обеспечения конфиденциальности проверяемой информации. Этого будет более чем достаточно для рядового пользователя.
Proxy6.net
Бесплатный онлайн-сервис для проверки работоспособности прокси. Результат также содержит информацию о местоположении IP-адреса и типе соединения. Также сайт предоставляет возможность приобретения приватных прокси.
2ip.ru
Автоматический сервис для проверки работоспособности вашего прокси сервера. В отличие от предыдущих вариантов, здесь результат проверки появляется перед вами сразу после перехода на сайт. Если вы не пользуетесь прокси, то перед вами появится информация о вашем текущем местоположении, IP-адресе и интернет-операторе. Учтите, что в данном случае невозможна проверка нескольких серверов списком. Результаты углубленной проверки включают в себя информацию о проблемах с безопасностью и текущих параметрах браузера. Также вам будет доступна ссылка на проверку.
ProxyLine
Простейший сервис для проверки работоспособности прокси-сервера. Для его использования достаточно ввести адреса серверов в специальное поле и запустить проверку. Также данный прокси-чекер предоставляет возможность проверки приватных прокси. В выдаче вы получите информацию об используемом сервером протоколе и его местоположении.
RSocks
Данный сервис проводит проверку введенного вами списка прокси-серверов и осуществляет фильтрацию результатов по различным параметрам. В результате вы можете отсортировать прокси таким образом, чтобы на экране появлялись лишь подходящие вам варианты. Помимо стандартных показателей вы получите информацию об определении PTR-записи и наличии прокси в базах Spamhaus.
DogmaIP
Минималистичный прокси-чекер, состоящий из окна для введения списка адресов прокси-серверов. Результаты проверки выводятся в формате таблицы, где содержится информация о работоспособности сервера и его местоположении.
ZennoLab
Многофункциональный сервис для проверки работоспособности прокси. С его помощью вы не только сможете узнать о доступности сервера в пару кликов, но и получите возможность настройки сложной системы для парсинга и фильтрации результатов по массе параметров. Данный прокси-чекер позволяет проверить сервер в несколько тысяч потоков одновременно. Их количество ограничено только производительностью вашего устройства и скоростью интернет-соединения. Результаты проверки выдаются в формате таблицы с указанием важнейших параметров. Также сервис предоставляет возможность покупки приватных прокси. Учтите, что данный прокси-чекер доступен только на платной основе.
NetworkCenter
Самый простой прокси чекер из всех, что представлены в данной подборке. При переходе на сайт вы увидите поле для введения адреса прокси-сервера, а также выпадающий список, в котором необходимо выбрать тип прокси. После их заполнения вам нужно будет начать проверку и получить результат уже через несколько секунд. Учтите, что в данном случае невозможна одновременная проверка нескольких серверов. Такой вариант отлично подойдет для рядовых пользователей, желающих убедиться в конфиденциальности передаваемой информации и безопасности собственных данных.