как узнать есть ли прокси сервер или нет
Как узнать свой прокси сервер и порт
Как узнать свой прокси-сервер и порт? Наш сисадмин, услышав такой вопрос, только покачал головой и припомнил случай из своей практики, когда подобные эксперименты одного из сотрудников «уложили» локальную сеть компании на несколько дней. Поэтому вместо рискованных попыток самостоятельно найти информацию, лучше все-таки прочитать эту статью до конца и сделать все правильно и безошибочно. На самом деле это достаточно просто.
Начнем с азов
Но прежде чем говорить о чем-либо конкретном, стоит хотя бы вкратце коснуться теории. Прокси-сервера при серфинге в интернете чаще всего используются для того, чтобы остаться в сети невидимым и анонимным. А это – первейшее условие безопасности. Приводим самые распространенные способы, как этого добиться:
Здесь все понятно и ясно. Но так как же узнать прокси-сервер? Дабы вы не наделали глупостей, разрешите также рассказать, что именно несет в себе понятие порта и адреса в сети.
Адрес и порт прокси-сервера: разбираемся в основах
Если провести аналогию с обычными письмами, посредством которых наши родители были вынуждены общаться до изобретения интернета, то выяснится, что адрес – это графа «куда» на конверте, а порт – раздел «кому». Однако в отличие от традиционной почты, здесь нужны точные значения, а не общие фразы вида «на деревню дедушке».
Адрес – это набор из четырех 3-значных чисел (от 0 до 255) вида «192.168.0.254». По сути, это та «деревня», куда мы хотим отослать письмо. Далее после двоеточия указывается еще одно число в диапазоне от 0 от 65535 – наш любимый «дедушка».
Как узнать свой прокси-сервер и порт: собственно, ответ на вопрос
Теперь вы подкованы, и мы готовы изложить всю суть. Здесь возможно несколько вариантов:
После того, как адрес прокси был определен (или этого proxy вовсе не было прописано), часто пользователь приходит к выводу, что можно бы поменять сервер на более надежный. Здесь мы готовы дать один очевидный, но не всеми используемый совет…
… выбирайте платные прокси-серверы!
От бесплатных аналогов они отличаются гораздо большей стабильностью, потому если вы хотите сохранить анонимность, путешествуя по просторам всемирной паутины, стоит предпочесть именно их. Проще говоря, такой сервер будет функционировать дольше, а вероятность его внезапного отключения крайне мала (в конце концов, вы оплатили эту услугу!). Купить прокси можно у многих продавцов их сейчас много, но обращайте внимание на стабильность прокси-сервера.
Free-версия – тоже неплохой вариант, но, переключаясь на нее, вы фактически доверяете свою сетевую безопасность непонятно кому. И если сравнивать такую схему работы с платным прокси-сервером, все параметры работы которого изначально известны, аргументов в пользу «сладкого уксуса» останется гораздо меньше. По крайне мере, если стабильность для вас – не пустой звук.
Итак, мы рассказали не только о том, как узнать прокси-сервер и порт, но и много смежной полезной информации. Были рады вам помочь.
Сегодня у нас с вами важнейшая тема – проверка прокси-серверов на валидность. Причем не имеет значения, знакомы вы с этим понятием или нет, ведь рано или поздно все равно придется прибегнуть к данной процедуре. Валидность в отношении proxy – это показатель работоспособности сервера, которым мы хотим воспользоваться, чтобы скрыть свой истинный ip-адрес.
Следует понимать, что прокси не вечные и имеют свойство становиться не рабочими, это естественный процесс, который неизбежно «съедает» часть любой базы прокси-адресов. Невозможно гарантировать, что тот или иной сервер через некоторое время будет точно также работать, как и раньше. Здесь и пригодятся наши советы.
Как проверить прокси-сервер
Бесполезные proxy никому не нужны, поэтому каждый вебмастер стремится фильтровать полученные адреса. Проблема в том, что проверить вручную, работает ли выбранный сервер, можно лишь путем сканирования своего текущего ip на специальных прокси-сервисах. Это не всегда точно, и к тому же не совсем удобно.
А ведь у вас была какая-то цель, когда вы искали proxy… Согласитесь, рисковать и надеяться на удачу – глупо. Но выход, конечно, уже найден. Валидные прокси нетрудно отсортировать одним из двух известных способов:
Принципиальных отличий между ними рядовой пользователь не всегда увидит, поскольку получит одинаковый результат (при условии правильной настройки таймаута, указания типов прокси и выбора тестов, но эта тема для отдельного разговора). Разница в том, что, в большинстве своем, ПО имеют более гибкие функциональные возможности, чем, собственно, и привлекают, а онлайн-решения, в свою очередь, манят простотой интерфейса и нерушимой доступностью.
Ищем сервисы для проверки прокси
Поисковые системы вроде Яндекс и Google все еще работают, поэтому проблем возникнуть не должно. Но всегда проще воспользоваться готовым решением. В нашим случае – готовым списком.
Мы потратили некоторое время и отобрали для вас одни из самых востребованных и популярных сайтов, где проверить прокси можно быстро и без затруднений. Итак, на просторах интернета часто пользуются следующими проектами:
Не все из указанных сайтов специализируются именно на работе с прокси-серверами и прокси-базами, некоторые из них – это комплексные аналитические системы, способные проверять очень многое от ссылок на сайт до его видимости в сети. Но в любом случае пользоваться онлайн-решениями всегда удобно, попробуйте сами.
Выбор тех, кто каждый день пользуется proxy
Теперь пойдет речь уже о программе, проверяющей быстрые прокси, а точнее сразу о нескольких таких ПО. Принято их стандартное разделение согласно протоколу прокси-сервера, что подразумевает работу только с одним из них: HTTP, HTTPS, SOCKS4 или SOCKS5. Но сейчас все чаще производители комбинируют всё вместе и предлагают пользователям универсальные программы.
Еще одной немаловажной характеристикой является возможность загружать в программу список адресов, представленный в формате HTML, XLS, TXT и т.д. Советуем обращать внимание на это при скачивании ПО, особенно, если вам пришлось заплатить свои кровные.
Итак, проверить прокси можно как широко распространёнными программами, так и известными в узких кругах. Здесь уже рекомендуется выбирать, ориентируясь на свои задачи и обращая внимание на настройки программ. Мы упрощаем для вас задачу поиска и предлагаем программы проверяющие прокси:
Не будем рассматривать каждую из них в отдельности, ведь это легко сделать, познакомившись самостоятельно с описаниями программ, благо в сети их предостаточно.
Поведем итог. Приведенные в заметке списки ПО и сервисов, помогающих проверить прокси на валидность – находка, которая сэкономит вам от одного до двух часов рабочего или личного времени. Просто берите, пользуйтесь и не забывайте говорить спасибо!
Комментарии
Добавлять комментарии могут только пользователи! Войти
ПРОКСИ БЛОГ
Что такое прокси? Как установить прокси на адроид? Чем отличается http от socks? Как соблюдать анонимность в интернете? На эти и многие другие вопросы, вы найдете ответы на страницах нашего блога. Помимо этого здесь же мы будем публиковать все связанное с работой сервиса и проводимых акциях. Следите за новостями!
Прокси чекер
Прокси чекер онлайн для проверки валидности прокси-серверов. Анализ прокси или группы адресов на доступность, страну, скорость, анонимность, тип.
Прокси чекер умеет:
- проверка IPv4, IPv6 на принадлежность страны; определние типа протокола HTTP/S, SOCKS5 и текущей скорости; проверка анонимности адреса; групповая, скоростная многопоточная проверка прокси в 64 потока; возможность закачать списком и выгрузить результат проверки ; удобный вывод результатов с помощью фильтра отображения.
Как и зачем использовать прокси-чекер?
В каком формате добавлять прокси в чекер?
P.S.: Если вы купили прокси у нас, то они приватные!
Рабочие персональные прокси с поддержкой 24/7
Отвечаем на ваши вопросы
Какие прокси можно проверять?
Прокси чекер дает возможность проверки бесплатных и платных IPv4, IPv6 протоколов.
В каком формате вносить прокси в прокси чекер?
Зачем фильтры справа от прокси-чекера?
Прокси чекер проверяет на валидность и SOCKS и HTTP|S?
Да, наш чекер валидности прокси проверяет все существующие протоколы.
Можно ли загрузить список ИП для проверки?
Чекер валидности адресов проверяет и платные и бесплатные?
Что если после проверки прокси оказался нерабочим?
Онлайн прокси чекер для проверки адресов на валидность
Одним из главных недостатков многих бесплатных прокси-серверов, в том числе и российских, является их недостаточная скорость в совокупности с невысоким аптаймом (временем доступности). Подобные недостатки не позволяют комфортно выполнять необходимые пользователям задачи и сильно действуют на нервы. Но и тратить дополнительные средства для покупки платных прокси может позволить себе не каждый. Да и не всегда это целесообразно. Как поступить, как получить актуальный список валидных прокси и при этом не потратить денег?
Для решения этой проблемы специалистами нашей компании был создан бесплатный прокси чекер онлайн, который поможет вам систематически проверять сервера на доступность и скорость, а также получать дополнительную информацию о них. Проверки портов или проксей выполняются практически моментально. Нужно будет лишь следовать простой инструкции.
Как проверяются прокси, подробно рассказано ниже.
Как проверить прокси на валидность
Для проверки прокси на валидность необходимо соблюдать последовательность действий:
Следуйте пяти перечисленным выше шагам, помогающим понять, как правильно проверять прокси.
Преимущества сервиса проверки proxy от компании ProxySale
Предлагаемый нами сервис обладает рядом уникальных возможностей:
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 (и их настройки!) и прокси со стороны сайта
We can save the day from dark, from bad
There’s no one we need
Многие из вас используют VPN или прокси в повседневной жизни. Кто-то использует его постоянно, получая доступ к заблокированным на государственном или корпоративном уровне ресурсам, многие используют его изредка, для обхода ограничений по географическому положению. Как вы можете знать, крупные интернет-игроки в сфере стриминга видео, музыки и продажи игр никогда не любили пользователей, которые легко обходят географические ограничения, разблокируя недоступный в их стране контент, или совершая покупки заметно дешевле. За примерами не нужно далеко ходить: Netflix изменил свое соглашение об использовании, добавив пункт о блокировке VPN, всего 2 месяца назад; Hulu тоже грешил блокировкой пользователей, а Steam вообще подозрительно смотрит на не-русскоязычных пользователей из России. В последнее время, компании пытаются блокировать уже не конкретных пользователей, а сами IP-адреса VPN-сервисов, создавая определенные неудобства уже самому VPN-сервису и его пользователям. Похоже, они не используют никаких спецсредств, а блокируют выборочно и вручную. Хоть я и не поддерживаю какие-либо блокировки вообще, меня заинтересовала техническая часть вопроса: можно ли как-то определить использование прокси-серверов и VPN со стороны сервера, не прикладывая особых усилий?
Можно, при определенных условиях. И достаточно точно.
MSS и MTU
MTU, или Maximum Transmission Unit — максимальное количество данных, которые могут быть переданы в одном пакете. MTU установлен у каждого сетевого адаптера, даже у тех маршрутизаторов, через которые трафик от вас до удаленного сервера идет транзитом. В подавляющем большинстве случаев, в интернете используют MTU 1500, однако бывают заметные исключения, которые, к слову, зачастую подчиняются некоторым правилам.
Когда ваш браузер или любое другое ПО, работающее с сетью, создает TCP-соединение к удаленному серверу, в заголовки пакета помещается значение Maximum Segment Size (MSS), которое сообщает серверу, какого максимального размера сегменты он может передавать в одном пакете. Это значение очень близко́ к MTU, оно сразу дает понять серверу о возможностях вашего интернет-соединения, исключая излишнюю фрагментацию и позволяя утилизировать ваш канал по полной.
Когда вы отправляете пакет, будучи подключенным к VPN по какому-то протоколу (PPTP, L2TP(±IPsec), IPsec IKE), он помещается (инкапсулируется) в еще один пакет, что вносит свои накладные расходы, и большие пакеты, которые были бы отправлены без фрагментации без VPN, теперь придется фрагментировать. Чтобы избежать такой фрагментации, ОС устанавливает на сетевом интерфейсе MTU меньше, чем MTU реального сетевого интерфейса, из-за чего ОС не пытается создавать большие пакеты, которые требовали бы фрагментации.
В случае с PPTP, L2TP(±IPsec), IPsec, как я понимаю, нет каких-то стандартов на MTU туннеля, все устанавливают такие значения, чтобы работало в большинстве случаев, и устанавливаются они на глаз. Как правило, это 1400, что позволяет использовать, скажем, PPTP на каналах с MTU до 1440 без фрагментации (например, когда для доступа в интернет требуется еще один туннель, как часто бывает у российских провайдеров). OpenVPN — пожалуй, самый популярный вариант VPN — напротив, пошел другим путем.
OpenVPN
В целях совместимости со старым или просто кривым софтом, OpenVPN по умолчанию не устанавливает меньшее значение MTU на VPN-интерфейсе, а изменяет значение MSS внутри инкапсулированного TCP-пакета. За это отвечает параметр mssfix, установленный по умолчанию в значение 1450. Он изменяет MSS таким образом, чтобы он полностью утилизировал канал с MTU 1450, т.е. высчитывает свои накладные расходы таким образом, чтобы они проходили через канал с MTU 1450 и более без фрагментации. Вследствие этого, у нас появляется возможность не просто определить пользователей OpenVPN со стандартным mssfix 1450, но и определить их протокол подключения (IPv4, IPv6), протокол транспортного уровня (TCP, UDP), параметры шифрования, сжатия и MAC, т.к. они вносят свои уникальные накладные расходы и отражаются в MSS.
Давайте посмотрим на типичные значения MSS:
Протокол | Размер блока | MAC | Сжатие | MSS |
---|---|---|---|---|
UDP | 64 | SHA1 | — | 1369 |
UDP | 64 | SHA1 | + | 1368 |
TCP | 64 | SHA1 | — | 1367 |
TCP | 64 | SHA1 | + | 1366 |
UDP | 128 | SHA1 | — | 1353 |
UDP | 128 | SHA1 | + | 1352 |
TCP | 128 | SHA1 | — | 1351 |
TCP | 128 | SHA1 | + | 1350 |
UDP | 128 | SHA256 | — | 1341 |
UDP | 128 | SHA256 | + | 1340 |
TCP | 128 | SHA256 | — | 1339 |
TCP | 128 | SHA256 | + | 1338 |
Если используется шифр с размером блока в 64 бита, это, вероятно, Blowfish, если 128 — вероятно, AES.
Для пущей проверки теории было протестировано 2 VPN-сервиса: VyprVPN и ibVPN. Оба сервиса подвержены определению настроек описанным методом.
Если вы не хотите, чтобы вас обнаруживали таким способом, вы можете либо отключить mssfix, установив его в 0 и на сервере, и на клиентах, получив таким образом MSS 1460 (в случае с IPv4), что соответствует MTU 1500 — типичному MTU для обычного проводного соединения, которое есть у подавляющего большинства пользователей. Однако, в этом случае вы получите излишнюю фрагментацию, что ведет к повышению задержек и уменьшению пропускной способности, поэтому может иметь смысл установить MTU в 1400, 1380 или похожее (должно быть кратно 2, а лучше 10), т.к. такие значения часто используются провайдерами, например, мобильного интернета.
Прокси
Способов определения прокси-сервера, если он не добавляет никаких заголовков (вроде X-Forwarded-For), не так-то много. Чем же технически отличается прокси от VPN? В случае с VPN, удаленный сервер получает от вас пакет, которая создала ваша ОС, в неизменном (зачастую) виде. Прокси же, напротив, получает только всю информацию об удаленном сервере (IP, порт, прочие параметры) и данные, создавая пакет на стороне самого прокси, и отправляет его. Разные ОС по-разному создают пакеты, различия можно встретить даже от версии к версии. Мы с большой точностью можем определить ОС создателя пакета, версия нас не слишком интересует.
Как мне кажется, прокси чаще всего запускают на Linux и BSD, а используют чаще под Windows. Пользователи часто не думают о смене User-Agent, который включает используемую ОС, в браузере, а это нам на руку.
Существует замечательный проект p0f, который отлично впишется под наши нужды. Пассивно прослушивая трафик, он может определить ОС, MTU и браузер, оповестить о несовпадении ОС создателя пакетов и ОС в User-Agent. К тому же, он имеет API. Немного модифицировав его, добавив экспорт MTU через API и обновив сигнатуры, мы можем с определенной точностью детектировать пользователей популярных VPN-протоколов, пользователей прокси и тех пользователей, которые подделывают User-Agent.
WITCH?
Немного подумав, я решил сделать небольшой веб-сервис для реализации своих идей, т.к., по какой-то причине, я не смог найти ничего похожего.
Из этого получился WITCH?, который с легкостью расскажет вам о настройках вашего OpenVPN-соединения (если вы не трогали mssfix, конечно же), попытается определить вашу ОС и сравнить ее с ОС в User-Agent, получит PTR-запись для вашего IP и сравнит ее с набором правил, определяя, используете ли вы интернет-канал, рассчитанный на домашних или серверных пользователей.
WITCH? также без проблем определяет пользователей Tor Browser, т.к. он использует одинаковый статичный User-Agent (с Windows) на всех ОС, а exit nodes запущены под Linux и FreeBSD.