Сейчас я опишу свой самый любимый способ. Для подобных целей
применяются специальные программы - сканеры. Сканеры пытаются
подключиться к выбранному порту(портам) в заданном диапазоне ip
адресов. В принципе происходит то же самое что и в случае с telnet-ом,
но все происходит на порядок быстрее. Для этого я использую scanner
входящий в программу NetLab. Это программа кроме самого сканера
включает в себя еще много полезных функций, в которых вы или
разберетесь сами, или я расскажу в других разделах, если эти функции
будут касаться темы. На данный момент нас интересует только сканер.
Существует большое количество подобных программ, но их сканеры - полная
лажа, потому что сканируют они каждый ip-адрес последовательно с
таймаутами в несколько секунд между каждой попыткой подключения,
поэтому время сканирования одного диапазона может длиться несколько
минут. Сканер в NetLab - единственный сканер под Windows из всех что я
знаю, который работает совершенно по-другому - он посылает запросы
сразу на группу адресов и одновременно принимает ответы, таким образом,
сканирование длится ~30 секунд при таймауте в 1500ms.
Теперь о
том, что нужно делать. Сначала вы достанете NetLab v1.4. Эта программа
не раритет и лежит на любом хорошем софт-архиве. Запустите его, вы
увидите группу закладок, нажмите на закладку Scanner.
Настраивать
ничего особенно не надо, кроме может быть параметра Timeout. Значение
Timeout нужно выбирать в зависимости от скорости вашего соединения и
главное времени задержки, которое можно определить утилитой ping, но
если вы не знаете что это и как, я приведу пару примеров: если вы
собираетесь сканировать свою локальную сеть или область интернета в
вашем городе то можно выбирать значение от 200ms до 1000ms, если вы
сканируете другую страну то ставьте значение Timeout ~1000-2000ms, а
если вы используете спутниковый канал и находитесь в Австралии, а
сканируете Европу, то устанавливайте это значение от 2000ms и больше. В
любом случае это все примерно и может зависеть от многих факторов, но
сейчас этого будет достаточно. Да, я не сказал что это вообще за
параметр - короче говоря - это время ожидания ответа сервера, чем
меньше значение, тем быстрее идет процесс сканирования.
Так как мы сканируем специфический порт, то нужно поставить птицу напротив Scan Ports и указать порт 3128 в обеих ячейках:
После
непродолжительных "настроек", можете вводить диапазон ip адресов и
нажимать на кнопку Scan. Сейчас вкратце расскажу откуда брать ip
адреса. Я не собираюсь в этой главе рассказывать все премудрости
построения сетей, о типах и классах сетей, а просто приведу пример, как
просто найти некоторый диапазон ip. Например: вы хотите использовать
один из прокси который находиться в Австралии. Зайдите на свой любимый
поисковик и введите что-нибудь в таком роде - "Australian internet
providers", думаю вы легко найдете страницу где будет большой список
провайдеров этого континента с cсылками на их сервера. Допустим, вы
выбрали какой-нибудь www.vianet.net.au определите ip адрес этого
сервера с помощью DNS.
DNS(Domain Name System) - это
распределенная база данных, которая содержит информацию о компьютерах,
включенных в сеть Internet. Характер данных зависит от конкретной
машины, но чаще всего информация включает имя машины, IP-адрес и данные
для маршрутизации почты.
Для удобства, большинство компьютеров
имеют имена. Доменная система имен выполняет несколько задач, но
основная ее работа - преобразование имён компьютеров в IP-адреса и
наоборот.
Пространство имен DNS имеет вид дерева доменов, с
полномочиями, возрастающими по мере приближения к корню дерева. Корень
дерева имеет имя "."; под ним находятся домены верхнего уровня
(корневые домены).
По историческим причинам существует два вида
доменов верхнего уровня. В США домены верхнего уровня отражают
организационную структуру, и как правило имеют трехбуквенные имена:
.gov - государственные учреждения,
.mil - военные учреждения,
.com - коммерческие организации,
.net - поставщики сетевых услуг,
.org - бесприбыльные организации,
.edu - учебные заведения;
Для доменов вне США, в соответствии с территориальным расположением используются двухбуквенные коды стран ISO. Например:
.ru - Россия
.de - Германия
.nl - Нидерланды
и т.д.
Проще
всего это сделать тем же NetLab-ом. На закладке DNS в поле "Remote
host" введите имя хоста ip-адрес которого вы собираетесь определить, в
нашем случае введем www.vianet.net.au . Жмем на кнопку DNS. В нижнем
окне должны увидеть Поле "IP address:" напротив которого будут 4 числа
разделенные точкам - это и есть ip адрес который нам нужен. Имеем ip
адрес этого хоста, теперь можем заносить первые 3 числа в поле для
ip-адреса (в Scanner-е). Так как мы будем сканировать не один адрес, а
диапазон адресов, вместо последнего числа указываем начальное и
конечное значение - от 0 до 255.
Можно также поставить галочку
на "Resolve IP address", не обязательно но более удобно и наглядно - в
процессе сканирования будут сразу выводиться названия хостов
соответствующих ip-адресов (если они есть, конечно).
Вот и
все, теперь все готово, все поля заполнены, можно начинать процесс
сканирования. Нажимаем на кнопку Scan... Процесс пошел. О завершении
сканирования сообщается в окошке под Таймаутом словом Done, или по
активной кнопке Scan. Смотрим на результат...
Ну что ж, один
открытый порт 3128 найден. Нормально, сейчас его проверим, прописываем
его в браузере (можно писать ip или имя). Топаем на страницу проверки и
смотрим:
Мда... как видим это юниксовский прокси
Squid/2.2STABLE5... Но нас интересует анонимность. Смотрим на поле
HTTP_X_FORVARDED_FOR , хо-хо, я такого еще не встречал, в поле где
должен быть наш ip адрес - стоит адрес их сервера. Может админ так
специально настроил или у него кривые руки, но нас, прокси, как ни
странно удовлетворяет в плане анонимности. Конечно, зайти на сервер,
который игнорирует подключения от прокси не получиться, но для других
серверов он вполне сгодится.
Примечания.
Многие провайдеры
(и не только) имеют количество активных и зарезервированных адресов,
больше 255. Поэтому вы можете попытаться просканировать близлежащие
диапазоны, изменяя предпоследнюю цифру в ip адресе. Более подробную
информацию о принадлежности адресов можно узнать при помощи Whois
сервера, но это тема для отдельной статьи.
Это самый наглядный способ (всмысле - поиск сетей), существуют и получше, об этом еще напишу.
Думаю
если каждый прочитавший эту статью или даже каждый десятый решит
проверить прокси приведенный в примере, то через неделю другую он
престанет работать, или админы поставят пароль, заметив подозрительную
активность. Это судьба почти всех прокси публикуемых в списках, поэтому
я вам рекомендую искать прокси самим.