SmallProxy - Анонимность в Internet: анонимайзеры, прокси, socks
Прокси
Proxy-сервер это такой компьютер, подключившись через который можно так же как и до этого просматривать web-страницы. Но у них есть еще одна интересная функция, proxy МОГУТ быть анонимными, т.е. на посещенном ресурсе останется IP-дрес proxy-сервера, а не пользователя, который посетил этот сайт. Вообще прокси предназначены для ускорения загрузки файлов, т.е. если кто-то до вас загружал определенную страничку, то вы ее уже загрузите из памяти proxy-сервера. Так же прокси используются и в локальных сетях, т.е. все компьютеры в сети подключаются к интернету через один proxy-сервер но этот прокси поменять не получится т.к. он является единственным выходом в интернет для тех кто в сети.
Проверка прокси на анонимность- тут (http://www.leader.ru/secure/who.html), если в полях: адрес, преданный адрес и.т.д. ваш IP - то это значит, что используемый прокси не анонимный.
Поиск proxy-серверов:
Так как прокси работают обычно на стандартных портах , то нужно просканировать диапазон IP на наличие открытых портов: 8080, 3218.
Но есть и постоянно обновляемые списки проксей, там обычно написано "последняя проверка такого-то числа" или "Last check..."
Важно:
Если вы в локальной сети: клуб, университет, то прокси уже настроен и изменить не получится. Но можно воспользоваться анонимайзером.
Если на сайте используются: Java, ActiveX, то proxy-сервер не скроет IP-адрес. Так например, при использовании Java-чата ваш реальный IP будет виден. 100% Гарантии анонимности не обеспечивают никакие способы. Настройка Internet Explorer: надо зайти Сервис - Свойства - Обозреватель - подключение - настройка сети нужно поставить галочку использовать прокси сервер, ввести адрес и порт на котором работает прокси.
Настройка Netscape Navigator: правка/настройки/дополнительные настройки/прокси сервер выбрать "Подключение через прокси сервер", нажать "настройка" и вписать прокси (для HTTP)
Настройка Opera: Файл/Настройки/Подключения/Прокси-серверы/ выбрать HTTP и вписать адрес и порт proxy-сервера. Если надо быстро переключать прокси серверы, воспользуйтесь специальными программами типа: Proxy Spy, Proxy changer или более мощной A4Proxy
Анонимайзеры
Анонимайзер, это такой сайт, через который можно гулять по сети анонимно, не меняя прокси в настройках браузера. Самый известный это www.anonymizer.com надо просто зайти на него и набрать в форме ввода адрес, куда надо зайти анонимно. Можно после первого захода на сайт через анонимайзер, просто скопировать часть адреса(анонимайзера) и не заходя на его сайт ввести этот адрес(см. ниже) и адрес куда надо зайти. Еще есть вариант: сохранить страничку с формой для ввода адреса на винт, подправить и работать с диска. https://www.megaproxy.com/go/:mp_framed?http://..........
Если не получилсь так то можно попробовать зайти на сайт т.е. наберите адрес до домена первого уровня: например если тут указан адрес https://www.megaproxy.com/go/:mp_framed?http://.......... то оставьте просто https://www.megaproxy.com/
Если вы любитель IRC, Java-чатов, или просто желаете остаться анонимным, можно воспользоваться socks-прокси сервером.
Так же для скрытия IP-адреса и другой инфы о себе можно использовать различные утилиты для анонимного хождения по сети, например: Freedom(Программа уже не работает, поищите другие)
Важное отличие таких программ от всех других способов, это то что все HTTP-данные шифруются, а значит, что Интернет-провайдер и сетевой администратор не смогут следить за вашими перемещениями по Сети.
Сбор информации о посетителях сайтов.
Информация о посетителях сайтов может собираться кем угодно, от простых владельцев домашних страниц, до крупных фирм, занимающихся статистическими исследованиями, рекламой и в других целях. Для того чтобы со своего сайта собирать подробную инфу достаточно установить на нем "счетчик посещений" который кроме своей основной функции выполняет еще ряд других, на рисунке видно какую информацию собирает сервер статистики HotLog.ru.
Если вас не привлекло заглавие из-за своей непонятности, то вы можете многое потерять, потому что возможно это самая ценная информация на этом сервере. Это самый лучший способ "зашифроваться" в сети. Но в этой части описание будет касаться только WEB. Сейчас это один из самых передововых способов, о нем мало кто знает. Он обладает несравненными преимуществами если все же сравнивать с http-proxy.
Чтобы описать все преимущества и чтобы вы поняли их ценность я как обычно проведу сеанс ликбеза.
Начнем... SOCKS - это уже давно разработанный протокол. Разработан он Дейвом Кобласом (Dave Koblas) из компании SGI. С начала существования протокол пережил несколько больших модификаций. На сегодняшний день в работе две версии протокола: Socks4 и Socks5. Не смотря на то что Socks5 более прогрессивен, в Интернете сечас распространены с одинаковой "плотностью" сервера с поддержкой как старой так и новой версии. Протокол представляет собой транслятор (что-то вроде прокси сервера), но в отличие от обычных прокси Socks-клиент "сидит" между прикладным и транспортным уровнем в сетевой модели OSI, Socks-сервер находиться на прикладном уровне. Это означает что такой сервер не привязан больше к протоколам высокого уровня. Сам протокол разработан для того чтобы приложения работающие на основе tcp и udp могли использовать ресурсы сети доступ к которым ограничен архитектурой или настройками сети. Например доступ к ресурсам Интернета из локальной сети приложениями у которых не предусмотрена работа с использованием прокси сервера. Сервер SOCKS предназначен для прозрачной работы с такими запрещенными ресурсами и предоставляет возможность перенаправления запросов через сервер на удаленную машину и прозрачную передачу трафика после установления соединения.
Итак существует две версии протокола - Socks4 и Socks5. Socks4 - решает вопрос незащищенного пересечения межсетевых экранов приложениями клиент/сервер, основанными на протоколе TCP. Socks5, [RFC 1928], является дальнейшим расширением четвертой версии SOCKS. Он включает в себя UDP, расширяет общую рамочную структуру, придавая ей возможность использования мощных обобщенных схем идентификации, и расширяет систему адресации, включая в нее имя домена и адреса IP v.6.
Хм, что-то слишком сложно сказано. Короче говоря Socks4 поддерживает tcp, а Socks5 поддерживает tcp, udp, авторизацию и удаленный dns-запрос.
Теперь можно рассказывать как эту технологию использовать для анонимности в WWW. Используя эту технологию в web, можно сразу убить несколько зайцев - основных проблем с которыми можно столкнуться используя методики о которых было написано в предыдущих частях. Но по порядку. Сначала я опишу как это все будет выглядеть. Для нас сейчас Socks - это обычный прокси сервер, но заглянув поглубже можно сразу увидеть его основные преимущества. Для начала скажу, что так как главной "рабочей единицей" в www является браузер использующий протокол HTTP, который в свою очередь работает на tcp, то нам безразлично какую версию Socks мы будем использовать.
Первый и главный мертвый заяц.
Так как Socks не имеет никакого отношения к http, то ему наплевать на все его заморочки с модернизацией заголовков http запросов. Socks-сервер будет передавать все данные в чистом виде от первого лица - то есть от себя. Другими словами можно сказать (используя терминологию из http) что все Socks-серверы "анонимные". Socks не передает информацию о нашем ip-адресе потому что это никак не предусмотрено его технологией. Соответсвенно отпадает множество проблем - например кроме того что он не передает ip-адрес, он естественно как я сказал выше не модернизирует http-заголовки, это означает что web-сервер никаким образом не может определить что вы используете прокси-сервер. Для него работа с вами будет абсолютно аналогичной как если бы вы работали непосредственно с web-сервером, с той лишь разницей что он будет видеть совсем другой ip-адрес.
Второй мертвый заяц.
Помните проблему с использованием различных прокси серверов для разных протоколов? http, ftp, shttp, wais, gopher... Так как все эти протоколы (в браузере) работают на основе tcp, то Socks прокси без проблем берет их всех на себя. то есть больше не надо мучатся прописывая для каждого протокола свой прокси-сервер, а тем более искать их. Достаточно одного Socks.
Не совсем мертвый заяц, а скорее бонус.
Технология Socks легко поддерживает выстроение в цепь. Здесь следует отметить что некоторые http прокси-серверы тоже могут выстраиваться в цепь, но в этом случае возникает много проблем. Во-первых, как я упоминал из 100% РАБОЧИХ прокси-серверов, анонимными будут процентов 10, из них возможно 1% будет поддерживать возможность перенаправлять запросы, то есть выстраиваться в цепь. Во-вторых, использование такой возможности http прокси браузером прямо не предусмотрена, но если все же использовать некоторые методы для этого, то останется множество брешей, главной из которых будет потенциальная возможность передачи данных напрямую минуя прокси. Короче говоря таким методом я не пользовался и не собираюсь, для этого есть средство лучше - это Socks.
Вернемся к Socks. Что дает возможность выстраивания в цепь Socks-серверов? Думаю это очевидно, Socks-серверы могут находиться в разных частях планеты передавая информацию друг другу по вашему желанию. Все данные которые "ходят" между браузером и web-сервером будут передаваться через все серверы которые вы выстроили в цепь, возможно не раз обойдя земной шар пока не достигнут цели. Как понимаете "вычислить" вас в такой ситуации представляется маловероятным.
Теория окончена можно переходить к практике. Возможно вы уже полезли в настройки браузера и нашли поле Socks, забудете о нем, забудете о настройке браузера вообще. Конечно можно и так, но могут возникнуть некоторые ограничения: даже современные браузеры поддерживают Socks только четвертой версии, все делается совсем по другому. Здесь нужно добавить еще немного теории. Основная сложность работы с Socks состоит в том, что кто-то должен проводить работу по замене сетевых системных вызовов версиями SOCKS (этот процесс обычно называется "SOCKS-ификацией" приложения). Другими словами нужно каким-нибудь методом заставить приложение поддерживать Socks протокол. Уже во многих операционных системах этот процесс встроен в саму ос, например, на машинах Solaris) можно автоматически SOCKS-ифицировать приложение, поставив общую библиотеку SOCKS перед "shared libc" в вашей строке поиска библиотек (переменная среды LD_LIBRARY_PATH в системах Solaris). В Linux SOCKS-ифицировать приложение тоже довольно просто: runsocks приложение.
Как дело обстоит в Win32?. К счастью и в Windows можно сделать такого рода поддержку. Об этом позаботились создатели программы SocksCap фирмы NEC USA, Inc. Эта программа с графическим интерфейсом позволит легко SOCKS-ифицировать почти любое приложение использующее сеть на основе tcp/ip.
Все, теперь по шагам описываю что надо делать чтобы это все начало работать. Необходимо скачать программу SocksCap (http://www.socks.nec.com/). Программа лежит в разделе files, или ее можно скачать прямо отсюда. Запускаем, видим нехитрый графический интерфейс. В самом окошке пока ничего нет, нужно добавить туда программу которую мы будем SOCKS-ифицировать. Нажимаем на кнопку New... Появиться окно "New Application Profile", нажимаем на кнопку Browse... и в уже знакомом окне выбора программ выбираем программу над которой произведем "глумление", то есть браузер. Лично я использую Netscape, потому что в плане анонимности я не доверяю продуктам Microsoft, у них иногда появляется собственная воля и они могут выкинуть неожиданный сюрприз, к тому же IE 5.0 у меня не желал "ифицироваться". Причины для меня остались неизвестными (возможно он черезчур интегрирован в ОС?) , но это окончательно подорвало доверие к IE в плане анонимности.
Post Factum
Оказывается запустить IE из под Sockscap не так уж и сложно:
Найдите в дополнительных свойствах браузера опцию и деактивируйте ее: "Загружать окна обозревателя в отдельном процессе" (У четвертого эксплорера называется по другому что-то вроде "Просматривать в новом процессе" ). Для пятого эксплорера таже надо деактивировать опцию "Автоматическое определение настроек"(Подключение->настройка сети)
Итак допустим вы нашли Netcape.exe и нажали на кнопку open
Для ламеров: не пытайтесь SOCKS-ифицировать ярлык на рабочем столе - программа лежит совсем в другом месте , (посмотрите в свойства ярлыка). Теперь вы должны увидеть заполненые поля в окне "New Application Profile", нажимайте Ok. В главном окне SocksCap добавилась программа. То же самое можно сделать методом drag'n'drop.
Настройка SocksCap.
Выберете в главном меню File->Setup... Вы попали в окно настройки "SocksCap Setup".
SOCKS server: адрес socks-сервера
Port: обычно 1080
SOCKS user ID: что угодно (любой набор символов)
В разделе protocol выбирается версия протокола который использует сервер: Socks4 или Sock5
Если сервер версии Socks5 требует пароль и вы его знаете ставьте птичку перед Username/Password (сам логин и пароль вводиться в File->Username/Password...)
Также если вы используете версию Socks5 - в поле "Name Resolution" укажите пункт "Resolve All names remotely"
Это все. Нажимайте Ok.
Теперь можно совершить процесс "SOCKS-ификации". Выделите в окне SocksCap программу которую вы собрались "ифицировать" и нажмите Run Socksified!. Или 2 раза кликните по программе в этом окне. Запуститься эта программа, в нашем случае браузер.
ВНИМАНИЕ! В настройках браузера должно быть отключено использование проки-сервера (установлено непосредственное подключение к Интернету).
Ну что? Не верите что это все? Тогда идите браузером на страницу проверки прокси серверов и убедитесь что все работает нормально. Ваш реальный ip-адрес не должен нигде упомнинаться. Рекомендую всегда вначале проверять что все работает нормально. В поле REMOTE_ADDR должен стоять адрес Socks сервера который вы используете.
Возможные проблемы.
Вообще их всего 2. Возможна ситуация когда настройки Socks-сервера не позволяют ему принимать соединения из Интернета, а только из его локальной сети. В этом случае браузер выведет сообщение о невозможности подключения.
Вторая проблема - когда Socks пятой версии требует пароль для авторизации. В этом случае браузер выведет такое же сообщение об ошибке.
Цепь из Socks
Цепь из прокси серверов представляет собой аналогию этой самой конструкции - то есть цепи. Здесь все очевидно - первое звено это www-клиент(браузер), последнее - www-сервер. Между ними можно поставить неограниченое количество Socks-серверов.
Браузер, и SocksCap не поддерживают этот режим работы. Здесь нужен кто-то третий. В этой ситуации - третий совсем не лишний. Сама технология Socks поддерживает такой режим. Нужна программа которая возьмет на себя это бремя. Такая программа существует, к сожалению аналогов я не встречал. Программа называется SocksChain.
В двух словах как это действует.
После того как SOCKS-ифицирован браузер, все его данные "передаются" по протоколу Socks используя сервер который указан в настройках SocksCap. На этом этапе можно подключать SocksChain. Эта программа будет выступать первичным Socks-сервером. Если SocksChain запущен на локальном компьютере, то его сервер будет иметь ip-адрес этого компютера. Адрес локального компьютера всегда: "127.0.0.1". Именно этот адрес и нужно прописать в настройках SocksCap.
После этого основную работу на себя берет SocksChain.
Возможные проблемы.
Даже если один из серверов в цепи будет неработоспособен - вся цепь не будет работать.
Сначала идите на страницу проверки, в поле REMOTE_ADDR должен стоять ip-адрес поледнего Socks-сервера в цепи. Если это так, то все работает нормально.
Если сделать слишком длинную цепь - работа может существенно замедлиться.