48421 (Протокол HTTP), страница 4
Описание файла
Документ из архива "Протокол HTTP", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48421"
Текст 4 страницы из документа "48421"
Данная информация может оказаться полезной при администрировании нескольких систем одним администратором – для однозначной идентификации наблюдаемой системы.
2.4.6 INDEX – страница помощи
Данная динамическая библиотека отображает в браузере страницу, содержащую правила подключения к серверу, формат адресной строки, интерпретацию сообщений об ошибках. Также отображается список доступных модулей с их характеристикой.
Эту страницу пользователь получит, явно указав имя модуля «index», или в случае отсутствия указания имени модуля. Однако, в случае работы системы безопасности в режиме проверки доступа и указания пустого имени модуля будет выдана страница ошибки авторизации, а не страница помощи.
2.5 Использование программы
2.5.1 Настройка сервера
Конфигурирование систем программы может быть осуществлено одним из трех способов:
-
Установка значений по умолчанию – параметры всех систем устанавливаются по умолчанию; значения параметров по умолчанию устанавливаются на этапе компиляции программы.
-
Загрузка конфигурации из файла – все параметры загружаются из файла, состоящего из строк вида «имя_параметра=значение». Для хранения параметров используется файл linspy.conf, находящийся в одном каталоге с исполняемым файлом программы.
-
Установка значений из командной строки – в этом случае параметры системы устанавливаются в соответствии с переданными аргументами командной строки.
Последний способ наиболее удобен для быстрого изменения настроек сервера. Все опции командной строки, поддерживаемые программой, представлены в таблице 3.1:
Таблица 3.1
Опция командной строки | Пояснение |
-h, --help | программа выводит описание опций командной строки и завершается; |
-m dir, --moddir dir | устанавливает каталог загрузки динамических библиотек равным dir; может быть использовано для быстрой смены набор библиотек; |
-v, --verbose | включает расширенный режим ведения журнального файла |
-s mode, --security mode | включает или выключает режим проверки доступа в зависимости от значения mode; если mode=“on”, проверка доступа включается, а если mode=“off” – выключается; |
-a ip, --addr ip | устанавливает адрес привязки серверного сокета равным ip; |
-p num, --port num | устанавливает порт привязки серверного сокета равным num; |
-d, --daemon | программа загружается в фоновом режиме (режиме демона). |
2.5.2 Доступ к серверу
Доступ к серверу через браузер предусматривает знание пользователем адреса и порта привязки сервера, а также, в случае работы системы безопасности в режиме проверки доступа, имени пользователя и пароля, которые присутствуют в файле учетных записей.
Например, при обращении к модулю «somemodule» при подключении к серверу, привязанному к адресу 123.123.123.123 и порту 8080, при включенной системе безопасности, зная имя пользователя – «mylogin» – и пароль – «mypassword» – строка адреса, которая должна быть введена в браузере, будет выглядеть следующим образом: http://123.123.123.123:8080/somemodule?login=mylogin&password=mypassword
В случае отключенной системы безопасности строка изменится: http://123.123.123.123:8080/somemodule
При возникновении какой-либо ошибки при обработке запроса – как со стороны корректности запроса, так и со стороны возможности выполнить запрошенные действия – в окно браузера выдается сообщение об ошибке.
Ошибка может возникнуть в одной из следующих ситуаций:
-
Полученный сервером запрос некорректен – указана неверная версия протокола HTTP, неподдерживаемый метод или сама структура запроса содержит ошибки.
-
Запрошенный модуль не может быть найден, либо он поврежден.
-
Указанные имя пользователя и пароль недействительны.
2.5.3 Завершение работы сервера
Завершение работы сервера возникает в результате приема серверным процессом сигнала SIGINT, соответствующего нажатию клавиатурной комбинации Ctrl+C. Однако, если сервер запущен в фоновом режиме (режиме демона), воздействие на него с помощью клавиатуры не представляется возможным. В этом случае следует послать процессу сигнал с помощью команды оболочки kill или killall:
-
kill –INT pid, в этом случае необходимо знать PID запущенного процесса;
-
killall –INT linspy – здесь поиск процесса ведется по имени исполняемого файла.
Вторая команда включена в файл shutdown.sh, представляющий собой сценарий оболочки и завершающий работу программы.
В случае принудительного завершения работы программы, например, с помощью сигнала SIGKILL, серверный сокет не будет закрыт корректно, что приведет к невозможности некоторое время привязаться к тем же адресу и порту, к которым осуществлялась привязка до этого. Кроме того, может возникнуть искажение записываемых в журнальный файл данных – некоторые сообщения могут оказаться потерянными.
Заключение
Разработанная программа позволяет удаленно наблюдать за состоянием компьютера, работающего под управлением операционной системы Linux. В программе реализована частичная поддержка протокола HTTP/1.1, что позволяет подключиться к ней с помощью браузера, работающего под управлением любой современной операционной системы. Также программа с минимальными изменениями может быть перенесена на большинство современных UNIX-подобных систем в силу того, что при разработке использовались исключительно средства API POSIX.
Программа полностью удовлетворяет требованиям технического задания, обеспечивая:
-
Возможность гибкой настройки программы, в том числе ее привязка к любому адресу и порту.
-
Возможность одновременной обработки запросов от удаленных клиентов за счет использования механизма многопоточности.
-
Возможность ограничения количества одновременно обрабатываемых запросов.
-
Обеспечение безопасности за счет необходимости указывать имя пользователя и пароль при подключении к серверу; программа использует собственный файл учетных записей.
-
Возможность подключения с помощью любого браузера, поддерживающего протокол HTTP/1.0 или HTTP/1.1.
Хотя для решения административных задач уже существуют готовые программные решения, а в качестве HTTP‑сервера в среде Linux, как правило, используется сервер Apache, разработанная программа имеет перед ними определенные преимущества:
-
Скорость работы, обеспечиваемая небольшим размером программы и простотой логики ее работы.
-
Простота доступа к системной информации Linux.
-
Удобочитаемость получаемой информации, что не накладывает требований на квалификацию пользователя.
Список использованной литературы
-
M.Mitchel, J.Oldham, A.Samuel Advanced Linux Programming / Indianapolis, Indiana: Williams, 2004 – 288 с.
-
RFC 1945 – HTTP/1.0 Protocol
-
RFC 2616 – HTTP/1.1 Protocol
-
E.Nemeth, G.Snyder, S.Seebass, T.Hein UNIX System Administration Handbook 3rd Edition / New Jersey: Prentice Hall, 2003 – 925 c., илл.
-
R.Stevens, B.Fenner, A.Rudoff UNIX Network Programming / Addison Wesley, 2003 – 1024 c., илл.