Описание работы программы

 

Программа выполнена на языке Perl и предназначена для работы на серверах под управление операционной системы Linux.

Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен. Perl сочетает в себе лучшие черты C, shell, sed и awk. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать. dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perlе, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.

Этот язык часто используется для написания CGI-модулей, которые, в свою очередь, могут обращаться к базам данных. Таким образом может осуществляться доступ к базам данных через WWW.

Для создания и тестирования Perl-программ необходимы:

любой текстовый редактор, позволяющий сохранять файлы в ASCII-коде (например, встроенный редактор из оболочки FAR Commander);

программа конвертации ACSII-файлов в формат Unix-систем (в частности, редактор Castillo TextEditor);

интерпретатор Perl для отладки;

Web-сервер, поддерживающий работу Perl-программ (для проверки интерфейсных программ был применен Web-сервер OmniHTTPd 2.0 Professional);

FTP-клиент для загрузки файлов на сервер (больше всего для этого подходит CuteFTP 2.0, позволяющий устанавливать права доступа к файлам);

любой Web-браузер (был использован MS IE 4.0).

Программы на языке Perl с расширениями. cgi или. pl должны находиться в специальном каталоге на Web-сервере, обычно называемом CGI-BIN. Размещая в нем свои программы, пользователи могут создавать там собственные папки для обеспечения иерархичности. Если сервер работает в среде Unix, то необходимо придать ему определенные права для доступа. Для исполняемых Perl-программ следует задать атрибут 755. Если в них существует какой-либо каталог, в котором будут производиться запись и удаление файлов, то предпочтительнее поставить атрибут 777 (полный доступ). Когда сервер работает под управлением операционной системы Windows XP/Vista, то не следует преобразовывать созданные файлы в формат систем Unix. А операционные системы семейства Windows не позволяют выставлять атрибуты доступа подобно Unix-системам - в них используется другая методика.

Как было отмечено в предыдущем разделе в работе программы предусмотрено два режима: контроля и администрирования.

Режим контроля работы пользователей.

После обращения пользователя локальной сети к какому-либо внешнему ресурсу он получает приглашение ввести свое имя и пароль. Вид окна, отображаемого на машине клиента, приведен на рисунке 4.1

После проверки правильности указанных данных, в соответствии с разработанным алгоритмом, производится проверка расхода выделенных ресурсов. Если выделенный лимит исчерпан пользователь получает следующее предупреждение (см. рис.4.2).


Рисунок 4.1 - Приглашение ввести имя пользователя и пароль

 

Рисунок 4.2 - Запрет доступа к сети

 

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

В процессе работы пользователя программа непрерывно следит за используемыми ресурсами и ведет протокол.

Ниже приводится фрагмент такого протокола:

1005144301.524 292 192.168.59.42 TCP_DENIED/407 1329 GET http://www.rambler.ru/ - NONE/ -

1005144351.251 616 192.168.59.42 TCP_MISS/200 573 GET http://top. list.ru/counter? mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144356.139 4885 192.168.59.42 TCP_MISS/200 11659 GET http://www.images. auto.ru/banners/paint2. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144381.452 30817 192.168.59.42 TCP_MISS/200 1252 GET http://images. rambler.ru/logo-r. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144387.328 31187 192.168.59.42 TCP_MISS/200 2395 GET http://images. rambler.ru/upl/info/adv145x60-6 [1]. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144403.545 84960 192.168.59.42 TCP_MISS/000 23466 GET http://www.rambler.ru/ mcdulcimer DEFAULT_PARENT/iserv. kture -

1005144403.689 53053 192.168.59.42 TCP_MISS/000 0 GET http://counter. rambler.ru/top100. cnt? mcdulcimer DEFAULT_PARENT/iserv. kture -

1005144403.689 16357 192.168.59.42 TCP_MISS/000 0 GET http://images. rambler.ru/n/sonet-200x20. gif mcdulcimer DEFAULT_PARENT/iserv. kture -

1005144403.689 22233 192.168.59.42 TCP_MISS/000 0 GET http://images. rambler.ru/other/narod_190_012. gif mcdulcimer DEFAULT_PARENT/iserv. kture -

1005144407.269 2386 192.168.59.42 TCP_MISS/200 572 GET http://top. list.ru/counter? mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144410.282 6551 192.168.59.42 TCP_MISS/200 58746 GET http://search. rambler.ru/cgi-bin/rambler_search? mcdulcimer DEFAULT_PARENT/iserv. kture text/html

1005144412.022 4752 192.168.59.42 TCP_MISS/200 5630 GET http://images. rambler.ru/upl/clients/narod_468_016. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144415.390 5043 192.168.59.42 TCP_MISS/200 13961 GET http://images. rambler.ru/upl/clients/2citroen_150_80_2. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144417.085 1692 192.168.59.42 TCP_MISS/200 492 GET http://images. rambler.ru/i-s-site1. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144447.872 42981 192.168.59.42 TCP_MISS/200 1241 GET http://images. rambler.ru/newd/logo-r. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144463.935 59059 192.168.59.42 TCP_MISS/000 0 GET http://counter. rambler.ru/top100. cnt?

Как видно из приведенного фрагмента в протоколе хранится информация о количестве принятой информации и наименование ссылки. Однако в данном файле хранится не только информация о данном, но и об остальных пользователях сети.

Один из модулей программы производит извлечение из всего объема информации о работе пользователей только ту, которая касается данного пользователя. После чего определяется общий трафик за определенный период.

Следующий фрагмент отражает эту ситуацию:

serg. tr

192.168.59.16 1390 http://www.mail.ru/

192.168.59.16 12875 http://r. mail.ru/b1062. swf

192.168.59.16 23071 http://www.mail.ru/

192.168.59.16 23393 http://www.rambler.ru/

192.168.59.16 9080 http://search. rambler.ru/cgi-bin/rambler_search?

192.168.59.16 47352 http://search. rambler.ru/cgi-bin/rambler_search?

192.168.59.16 33726 http://search. rambler.ru/cgi-bin/rambler_search?

192.168.59.16 750 http://search. rambler.ru/click?

192.168.59.16 714 http://search. rambler.ru/click?

192.168.59.16 726 http://search. rambler.ru/click?

192.168.59.16 724 http://search. rambler.ru/click?

192.168.59.16 2001 http://www.citforum.ru/css/forum. css

192.168.59.16 2674 http://www.citforum.ru/ssi/ms_proc/y1ie. js

192.168.59.16 33333 http://www.citforum.ru/ssi/ms_proc/processor03. swf?

192.168.59.16 714 http://search. rambler.ru/click?

192.168.59.16 1039 http://www.computerinform.ru/main. css

192.168.59.16 17443 http://www.computerinform.ru/inform05_00/p_04asb. htm

192.168.59.16 1849 http://www.computerinform.ru/index.html

192.168.59.16 810 http://www.computerinform.ru/mainl. css

192.168.59.16 4001 http://www.computerinform.ru/left. htm

192.168.59.16 90 http://www.computerinform.ru/main. css

192.168.59.16 18876 http://www.computerinform.ru/praft. htm

Если в процессе работы в сети происходит превышение выделенного трафика, пользователь автоматически отключается и ему отправляется соответствующее сообщение (см. рис.4.2).

Для управления работой пользователей сети в программе предусмотрен режим администрирования.

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

удаленное администрирование прокси-сервера при помощи WEB-интерфейса;

просмотр списка пользователей;

добавление - удаление пользователей;

выбор пользователя для изменения его свойств;

определение размера получаемой информации для каждого пользователя в отдельности;

предоставление расширенного отчета о работе пользователя за определенны период.

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

Для исключения возможности несанкционированного доступа к информации, при запуске программы производится проверка пользователя. Если он имеет право администрировать систему, ему открывается главное окно программы.

Для проверки имени пользователя и пароля ему открывается следующее окно (см. рис.4.3)

 

Рисунок 4.3 - Проверка имени и пароля пользователя

 

Внешний вид программы в режиме администрирования приведен на рисунке 4.4


Рисунок 4.4 - Внешний вид программы в режиме администрирования

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: