лабораторная работа №4 (информационные сети и телекоммуникации ЛР4)

Посмотреть архив целиком

Федеральное агентство по образованию

Московский государственный

технический университет

«МАМИ»



Кафедра «Автоматика и процессы управления»


Кобзев П.А.



Методические указания


по выполнению лабораторных работ по дисциплине «Информационные сети и телекоммуникации»


Лабораторная работа №4

Ознакомление с proxy сервером “3proxy”.













Москва – 2009

Содержание


Теоретическая часть 3

Прокси-сервер. Определение. 3

Использование 3

Классификация proxy серверов. 4

HTTP proxy 4

Socks proxy 5

CGI proxy (анонимайзеры) 5

FTP proxy 5

HTTPS-прокси 6

Mapping-прокси 7

3proxy [2] 8

Отображение статистики соединений с помощью программы netstat [1] 8

Практическая часть 9

Настройка 3proxy 9

Настройка Windows XP для работы с proxy сервером 10

Как настроить прокси-сервер с помощью средства Proxycfg.exe 11

Как удалить прокси-сервер с помощью средства Proxycfg.exe 11

Настройка использования прокси-сервера для обозревателя Internet Explorer 12

Internet Explorer 6.0 12

Приложение 13

Windows Service 13

Наиболее распространенные значения cостояний TCP соединений [3] 13

Список литературы 14



Лабораторная работа № 4. Ознакомление с proxy сервером 3proxy.

Цель: Установить и настроить proxy сервер 3proxy.

Теоретическая часть

Прокси-сервер. Определение.

Прокси-сервер (от англ. proxy — «представитель, уполномоченный») — служба в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, e-mail), расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кеша (в случаях, если прокси имеет свой кеш). В некоторых случаях запрос клиента или ответ сервера может быть изменён прокси-сервером в определённых целях. Также прокси-сервер позволяет защищать клиентский компьютер от некоторых сетевых атак.

Использование

Чаще всего прокси-серверы применяются для следующих целей:

Обеспечение доступа с компьютеров локальной сети в Интернет.

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

    • Сжатие данных: прокси-сервер загружает информацию из Интернета и передаёт информацию конечному пользователю в сжатом виде. Такие прокси-серверы используются в основном с целью экономии внешнего трафика.

    • Защита локальной сети от внешнего доступа: например, можно настроить прокси-сервер так, что локальные компьютеры будут обращаться к внешним ресурсам только через него, а внешние компьютеры не смогут обращаться к локальным вообще (они «видят» только прокси-сервер).

    • Ограничение доступа из локальной сети к внешней: например, можно запретить доступ к определённым веб-сайтам, ограничить использование интернета каким-то локальным пользователям, устанавливать квоты на трафик или полосу пропускания, фильтровать рекламу и вирусы.

    • Анонимизация доступа к различным ресурсам. Прокси-сервер может скрывать сведения об источнике запроса или пользователе. В таком случае целевой сервер видит лишь информацию о прокси-сервере, например, IP-адрес, но не имеет возможности определить истинный источник запроса. Существуют также искажающие прокси-серверы, которые передают целевому серверу ложную информацию об истинном пользователе.


Многие прокси-серверы используются для нескольких целей одновременно. Некоторые прокси-серверы ограничивают работу несколькими портами: 80 (HTTP), 443 (Шифрованное соединение HTTPS), 20,21 (FTP).


В отличие от шлюза, прокси-сервер чаще всего не пропускает ICMP-трафик (невозможно проверить доступность машины командами ping и tracert).

Прокси-сервер, к которому может получить доступ любой пользователь сети интернет, называется открытым.

Классификация proxy серверов.


Существует несколько типов proxy серверов. Каждый тип proxy предназначен для решения своего круга задач, однако у них есть много общего, их возможности во многом совпадают.

        • HTTP proxy

Это наиболее распространенный тип proxy серверов и говоря просто "proxy", имеют в виду именно его. Раньше с помощью этого типа proxy можно было только просматривать web страницы и картинки, скачивать файлы. Теперь же новые версии программ (ICQ и т.п.) умеют работать через HTTP proxy. С этим типом proxy умеют работать и браузеры любых версий.

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


Можно сохранять полученные файлы на диске сервера. Впоследствии, если запрашиваемый файл уже скачивался, то можно выдать его с диска без обращения в интернет – увеличивается скорость и экономится внешний трафик (который может быть платным). Эта опция называется кэшированием – именно её очень любят администраторы и пользователи – настолько, что считают её главной функцией прокси. Однако приводимые оценки экономии (в описаниях встречалось от 30 до 60%) слишком оптимистичны, не верьте им. На деле получается не более 10-15% – современный интернет очень динамичен, страницы часто меняются, зависят от работающего с ними пользователя и т.д. – такие данные кэшировать нельзя, веб-серверы обычно вставляют в HTTP-заголовки специальные указания об этом, чтобы браузеры и прокси имели это в виду. Хотя многие прокси-серверы можно настроить так, чтобы эти указания частично игнорировались – например, перечитывать страницу не чаще одного раза в день.


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


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


Можно ограничивать скорость работы для отдельных пользователей, групп или ресурсов. Например, установить правило, чтобы файлы *.mp3 качались на скорости не более 1кб/сек, чтобы предотвратить забивание вашего интернет-канала трафиком меломанов, но не лишать их полностью этого удовольствия. Эта возможность, к сожалению, есть не во всех прокси. В Eproxy эта возможность есть. Она реализуется дополнением TrafC, который кроме ограничения пропускной способности (скорости) может ограничивать и суммарный трафик.


Ведутся журналы работы прокси – можно подсчитывать трафик за заданный период, по заданному пользователю, выяснять популярность тех или иных ресурсов и т.д.


Можно маршрутизировать веб-запросы – например, часть направлять напрямую, часть через другие прокси (прокси провайдера, спутниковые прокси и т.д.). Это тоже помогает эффективнее управлять стоимостью трафика и скоростью работы прокси в целом.

        • Socks proxy

Эти proxy сервера умеют работать практически с любым типом информации в Internet (протокол TCP/IP), однако для их использования в программах должно быть явно указана возможность работы с socks proxy. Для использования socks proxy в браузере нужны дополнительные программы (браузеры не умеют сами работать через socks proxy). Однако любые версии ICQ (и многих других популярных программ) отлично могут работать через socks proxy. При работе с socks proxy необходимо указывать его версию: socks 4 или socks 5.

        • CGI proxy (анонимайзеры)

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

        • FTP proxy

Этот тип proxy серверов отдельно от корпоративных сетей встречается довольно редко. Обычно его использование связано с тем, что в организации имеется Firewall (система защиты компьютеров от вторжения извне), препятствующий прямому доступу в Internet. Использование proxy этого типа предусмотрено во многих популярных файловых менеджерах (FAR, Windows Commander), download менеджерах (GetRight, ReGet, ...) и в браузерах.

Этот тип proxy является узко специализированным и предназначен для работы только с FTP серверами.

FTP-прокси бывает двух основных видов в зависимости от протокола работы самого прокси. С ftp-серверами этот прокси, конечно, всегда работает по протоколу FTP. А вот с клиентскими программами – браузерами и ftp-клиентами (CuteFTP, FAR, и др.) прокси может работать как по FTP, так и по HTTP. Второй способ удобнее для браузеров, т.к. исторически является для них «родным». Браузер запрашивает ресурс у прокси, указывая протокол целевого сервера в URL – http или ftp. В зависимости от этого прокси выбирает протокол работы с целевым сервером, а протокол работы с браузером не меняется – HTTP. Поэтому, как правило, функцию работы с FTP-серверами также вставляют в HTTP-прокси, т.е. HTTP-прокси, описанный выше, обычно с одинаковым успехом работает как с HTTP, так и с FTP-серверами. Но при «конвертации» протоколов FTP<->HTTP теряется часть полезных функций протокола FTP. Поэтому специализированные ftp-клиенты предпочитают и специальный прокси, работающий с обеими сторонами по FTP. В Eserv и Eproxy мы называем этот прокси FTP-gate, чтобы подчеркнуть отличие от FTP-прокси внутри HTTP-прокси. Также этот прокси называется в некоторых ftp-клиентах. Хотя встречаются и вносящие путаницу названия. Например, в программе CuteFTP FTP-gate называют firewall, хотя FireWall в общем случае – это вообще не прокси, а фактически программа обратного назначения – не для подключения к интернету, а для изоляции от него. Для прокси в FireWall оставляют специальные «дыры». FTP-gate поддерживают различные способы указания в FTP-протоколе целевого сервера, с которым FTP-клиент хочет работать, в настройке FTP-клиентов обычно предлагается выбор этого способа, например как показано на рисунке ниже:


На рисунке 10 USER user@site, OPEN site, и т.д. – способ указания сервера, с которым производится работа. Такое многообразие связано с тем, что нет общепринятого стандарта на этот вид прокси, и применяются такие хитрые добавки к стандартным командам FTP-протокола.

        • HTTPS-прокси

HTTPS-прокси – фактически часть HTTP-прокси. S в названии означает “secure”, т.е. безопасный. Не смотря на то, что программно это часть HTTP-прокси, обычно HTTPS выделяют в отдельную категорию (и есть отдельное поле для него в настройке браузеров). Обычно этот протокол – безопасный HTTP – применяют, когда требуется передача секретной информации, например, номеров кредитных карт. При использовании обычного HTTP-прокси всю передаваемую информацию можно перехватить средствами самого прокси (т.е. это под силу администратору ЛС) или на более низком уровне, например, tcpdump (т.е. и администратор провайдера и любого промежуточного узла и вообще любой человек, имеющий физический доступ к маршрутам передачи ваших данных по сети, может при большом желании узнать ваши секреты). Поэтому в таких случаях применяют secure HTTP – всё передаваемое при этом шифруется. Прокси-серверу при этом дается только команда «соединится с таким-то сервером», и после соединения прокси передает в обе стороны шифрованный трафик, не имея возможности узнать подробности (соответственно и многие средства управления доступом – такие как фильтрация картинок – не могут быть реализованы для HTTPS, т.к. прокси в этом случае неизвестно, что именно передается). Собственно в процессе шифрации/дешифрации прокси тоже участия не принимает – это делают клиентская программа и целевой сервер. Наличие команды «соединиться с таким-то сервером» в HTTPS-прокси приводит к интересному и полезному побочному эффекту, которым все чаще пользуются разработчики клиентских программ. Так как после соединения с указанным сервером HTTPS-прокси лишь пассивно передает данные в обе стороны, не производя никакой обработки этого потока вплоть до отключения клиента или сервера, это позволяет использовать прокси для передачи почти любого TCP-протокола, а не только HTTP. То есть HTTPS-прокси одновременно является и простым POP3-прокси, SMTP-прокси, IMAP-прокси, NNTP-прокси и т.д. – при условии, что соответствующая клиентская программа умеет так эксплуатировать HTTPS-прокси (увы, далеко не все еще это умеют, но есть вспомогательные программы, «заворачивающие» трафик обычных клиентов через HTTPS-прокси). Никаких модификаций целевого сервера не требуется. Фактически HTTPS-прокси является программируемым mapping-proxy, как и Socks-proxy.


        • Mapping-прокси

Mapping-прокси – способ заставить работать через прокси те программы, которые умеют работать с интернетом только напрямую. При настройке такого прокси администратор создает как бы «копию» целевого сервера, но доступную через один из портов прокси-сервера для всех клиентов локальной сети – устанавливает локальное «отображение» заданного сервера. Например, пользователи локальной сети хотят работать с почтовым сервером mail.ru не через браузер, а с использованием почтовой программы Outlook Express или TheBat?. Эти программы не умеют работать через прокси (кроме случая, когда Outlook получает почту по HTTP с hotmail.com – тогда он, как и браузер, пользуется HTTP-прокси). Простейший способ работать с mail.ru по POP3 через прокси – установить локальное отображение сервера pop.mail.ru. И в Outlook'ах вместо pop.mail.ru написать имя прокси-сервера и порт отображения. Outlook будет соединяться с прокси-сервером ("думая", что это почтовый сервер), а прокси при этом будет соединяться с pop.mail.ru и прозрачно передавать всю информацию между Outlook и pop.mail.ru, таким образом «превращаясь» на время соединения в POP3-сервер. Неудобство mapping-прокси в том, что для каждого необходимого внешнего сервера нужно вручную устанавливать отдельный порт на прокси. Но зато не требуется модификация ни серверов, ни клиентов. Особенно это помогает в случае необходимости «проксирования» многочисленных «доморощенных» протоколов, реализованных в играх или финансовых программах. Почему-то они часто игнорируют существование прокси и стандартных протоколов. Такие программы можно «обмануть» и направить через прокси практически всегда, если они не делают другой глупости – передачи клиентского IP-адреса внутри протокола и пытаются с ним соединяться напрямую еще раз (что невозможно, т.к. локальные адреса недоступны извне).


3proxy [2]

3proxy это многоплатформный набор прокси-серверов (под Linux/Unix и Windows, включая 64-битные версии). Он включает в себя HTTP прокси с поддержкой HTTPS и FTP (proxy/proxy.exe), SOCKSv4/SOCKSv4.5/SOCKSv5 прокси (socks/socks.exe), POP3 прокси (pop3p/pop3p.exe), SMTP прокси (smtpp/smtpp.exe), AIM/ICQ прокси (icqpr/icqpr.exe), MSN messenger / Live messenger proxy (msnpr/msnpr.exe), FTP proxy, кэширующий DNS прокси, TCP и UDP портмапперы (tcppm, udppm) а так же комбинированный прокси-сервер с поддержкой дополнительных возможностей, таких как управление доступом, ограничение ширины потребляемого канала, ограничение трафика на день, неделю и месяц, перенаправление соединений, построение цепочек соединений (proxy chaining), ротацию лог-файлов, ведение журналов через ODBC. Версия под Win32 использует родные библиотеки (т.е. не требуется Cygwin или другие POSIX-эмуляторы), поддерживается установка в качестве сервиса. На сегодняшний день работоспособность проверена на Windows 98/NT/2000/2003/XP/x64, FreeBSD/i386, NetBSD/i386, OpenBSD/i386, Linux/i386, Linux/PPC, Linux/Alpha, Mac OS X/PPC, Solaris 10/i386. Полный список возможностей см. Release Notes и Changes.

3proxy является FreeWare и может быть использован по лицензии GNU/GPL или под собственной лицензией. Начиная с версии 0.6 Используется лицензия типа BSD, позволяющая, так же, использовать LGPL, Apache License и многие другие совместимые типы лицензирования.


Отображение статистики соединений с помощью программы netstat [1]


Командой netstat можно пользоваться для отображения статистики протокола и текущих TCP/IP-соединений. Команда netstat –a выводит сведения обо всех подключениях, а команда netstat –r отображает таблицу маршрутизации и сведения об активных подключениях. Команда netstat –o отображает коды процессов, что позволяет просмотреть владельца порта для каждого подключения. Команда netstat –e выводит статистику интерфейса Ethernet, а команда netstat –s отображает статистику протоколов. При использовании команды netstat –n адреса и номера портов не преобразуются в имена. Ниже показаны примеры отчетов, получаемых с помощью программы netstat:

Практическая часть

      • Настройка 3proxy

Скачать с сайта http://3proxy.ru 3proxy-0.6.zip, распаковать 3proxy-0.6.zip в c:\proxy

Изучить документацию, расположенную в c:\proxy\doc\html\

Создать директорию c:\proxy\logs

mkdir c:\proxy\logs

Создать конфигурационный файл 3proxy.cfg, сохранить в директорию c:\proxy\bin

пример конфигурационного файла

#The beginning of a file of a configuration

system "echo 3proxy server runnig at %date% / %time%"

# you may use system to execute some external command if proxy starts


# We can configure nservers to avoid unsafe gethostbyname() usage

nserver 192.168.2.1

# nscache is good to save speed, traffic and bandwidth

nscache 65536


internal 192.168.2.2

external 192.168.2.2


rotate 120

#для того, чтобы в папке с логами сохранялись лишь последние 120 файлов

logformat "L%C - %U [%d/%m/%Y:%H:%m:%S %z] ""%T"" %E %I %O %N/%R:%r"

log c:\proxy\logs\3proxy.log D


#admin

auth iponly

allow * 192.168.2.0/24 * * *


ftppr -p2121

socks -p1080

proxy -p3128


service

#The end of a file of a configuration


На основании примера файла конфигурации и вывода команды ipconfig /all сформировать файл конфигурации

Установка прокси сервера как сервис

c:\proxy\bin\3proxy.exe --install c:\proxy\bin\3proxy.cfg


запуск

net start 3proxy


остановка

net stop 3proxy


При помощи команды netstat определить, запущен ли сервис 3proxy

netstat -an | find ":3128"

пример вывода команды при запущенном 3proxy

TCP 0.0.0.0:3128 0.0.0.0:0 LISTENING

Далее конфигурируем приложения для работы с proxy

Настройка Windows XP для работы с proxy сервером

Описание средства Proxycfg.exe

Средство Proxycfg.exe настраивает WinHTTP на использование определенного прокси-сервера посредством изменения следующей записи регистра:

HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\WinHttpSettings

Средство Proxycfg.exe полезно в том случае, когда применение WPAD невозможно. Кроме того, это средство можно использовать для обнаружения и устранения проблем с обнаружением прокси-сервера в сети. В подобной ситуации это средство можно использовать для подтверждения того, что проблема возникла из-за невозможности обнаружения прокси-сервера с помощью других способов, например, WPAD.

Для просмотра параметров командной строки, поддерживаемой средством Proxycfg.exe, введите proxycfg.exe /? в командной строке и нажмите кнопку ВВОД. При запуске команды proxycfg.exe без использования параметров командной строки отображаются текущие настройки. В данной ситуации получаемые результаты будут иметь следующий вид.

Прокси-сервер не настраивался

Microsoft (R) WinHTTP Default Proxy Configuration Tool Copyright (c) Microsoft Corporation. Все права защищены.


Текущие настройки прокси-сервера WinHTTP: HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\ WinHttpSettings :


Прямой доступ (без прокси-сервера).

Прокси-сервер настраивался

Microsoft (R) WinHTTP Default Proxy Configuration Tool Copyright (c) Microsoft Corporation. Все права защищены.


Текущие настройки прокси-сервера WinHTTP: HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\ WinHttpSettings :

Proxy Server = Bypass List =

      • Как настроить прокси-сервер с помощью средства Proxycfg.exe

Чтобы использовать программу Proxycfg.exe для настройки прокси-сервера, выполните следующие действия. Выберите в меню Пуск пункт Выполнить, введите команду cmd и нажмите кнопку ОК.

В командной строке введите proxycfg –p имя_прокси-сервера:номер_порта и нажмите клавишу ВВОД. В командной строке, замените имя_прокси-сервера полным доменным именем прокси-сервера. Замените номер_порта номером порта, для которого настраивается прокси-сервер. Например, замените имя_прокси-сервера на прокси.имя_домена.имя_домена.com и замените номер_порта на 80.

Выберите в меню Пуск пункт Выполнить, введите команду cmd и нажмите кнопку ОК.

В командной строке введите proxycfg –p имя_прокси-сервера:номер_порта и нажмите клавишу ВВОД. В командной строке, замените имя_прокси-сервера полным доменным именем прокси-сервера. Замените номер_порта номером порта, для которого настраивается прокси-сервер. Например, замените имя_прокси-сервера на прокси.имя_домена.имя_домена.com и замените номер_порта на 80.

В случае успешной настройки прокси-сервера отображаются следующие результаты:

Microsoft (R) WinHTTP Default Proxy Configuration Tool Copyright (c) Microsoft Corporation. Все права защищены.


Текущие настройки прокси-сервера WinHTTP: HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\ WinHttpSettings :

Proxy Server = Bypass List =

      • Как удалить прокси-сервер с помощью средства Proxycfg.exe

Чтобы использовать программу Proxycfg.exe для удаления прокси-сервера и настройки «прямого доступа» к Интернету, выполните следующие действия. Выберите в меню Пуск пункт Выполнить, введите команду cmd и нажмите кнопку ОК.

В командной строке введите proxycfg -D и нажмите клавишу ВВОД.

Выберите в меню Пуск пункт Выполнить, введите команду cmd и нажмите кнопку ОК.

В командной строке введите proxycfg -D и нажмите клавишу ВВОД.

Примечание. При выполнении одного из следующих условий прокси-сервер не отображается в результатах выполнения команды proxycfg.exe. Прокси-сервер настроен вручную в настройках обозревателя Internet Explorer.

Прокси-сервер настроен с использованием сценария конфигурации.

Прокси-сервер настроен вручную в настройках обозревателя Internet Explorer.

Прокси-сервер настроен с использованием сценария конфигурации.

Команда proxycfg.exe используется только для ручной настройки прокси-сервера, используемого WinHTTP. При использовании WPAD или обозревателя Internet Explorer для указания прокси-сервера результаты команды proxycfg.exe должны отражать значение параметра Прямой доступ (без прокси-сервера).

Настройка использования прокси-сервера для обозревателя Internet Explorer

      • Internet Explorer 6.0






Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.