Чтение онлайн

на главную

Жанры

Техника сетевых атак
Шрифт:

Рисунок 18 Диалог «подключение»

Появление курсора в окне telnet-клиента [252] означает готовность к приему команд от пользователя. Взаимодействие осуществляется по схеме «запросответ», подробное описание которой содержится в RFC-1945

и в RFC-2068, а в этой главе будут рассмотрены лишь основные моменты, впрочем, вполне достаточные для полноценного взаимодействия в WEB-сервером.

Структура запроса выглядит следующим образом:

· «Метод» «Запрашиваемый Ресурс» «Версия HTTP»

· Поле 1: значение A

· Поле 2: значение B

·…

· «CRLF»

Если не указывать версию HTTP, ответ будет возращен в спецификации HTTP 0.9, которую обязан поддерживать каждый клиент [253].

Количество и наименование полей зависят от метода и рода запроса. В простейшем случае, они могут и вовсе отсутствовать.

Метод “GET” используется для получения файлов с сервера. Если имя файла неизвестно, его можно опустить, и тогда в зависимости от настоек сервера возвратится либо содержимое файла по умолчанию, либо список файлов текущего каталога, либо сообщение об ошибке доступа.

Наглядно продемонстрировать вышесказанное позволяет следующий эксперимент. Чтобы получить главную страницу сайта “lightning.prohosting.com/~kpnc/” необходимо установить TCP-соединение с узлом “lightning.prohosting.com” по восьмидесятому порту и послать серверу следующий запрос: “GET /~kpnc/”. Спустя короткий промежуток времени, сервер выдаст ответ, приведенный на копии экрана, показанной ниже, и разорвет соединение:

Рисунок 19 Ответ сервера на запрос GET /~kpnc/

Мысленно представляя себе, как бы выглядел этот HTML в окне браузера, подведем воображаемую мышь к ссылке и приготовимся кликнуть. Что произошло бы, случись это на самом деле? Интерпретатор браузера извлек бы содержимое ссылки, так называемый Uniform Recourse Identifier (сокращенно URI), и сформировал бы очередной запрос.

Врезка «замечание»

Не нужно путать URI (Uniform Recourse Identifier) и URL (Uniform Recourse Locator). Идентификатор ресурса относится к локальному серверу и может фигурировать в строках запроса. Напротив же, URL может указывать куда угодно и попытка запросить у сервера Microsoft, документ, расположенный, скажем, на www.netscape.com ничем хорошим не кончиться.

Таким образом URL=протокол://хост/URI:порт, где URI=Имя Файла?параметры amp;значение 1 amp;значение 2, то есть, URI это часть URL.

Поскольку, роль браузера нам приходится играть самостоятельно, вновь подключимся к серверу, и пошлем ему следующий запрос “GET /~kpnc/next.htm HTTP/1.0”

· GET /~kpnc/next.htm HTTP/1.0

·

· HTTP/1.1 200 OK

· Date: Thu, 13 Apr 2000 11:40:07 GMT

· Server: Apache/1.3.6 (Unix)

· Last-Modified: Thu, 13 Apr 2000 11:28:20 GMT

· ETag: "b13adc-144-38f5af54"

· Accept-Ranges: bytes

· Content-Length: 324

· Connection: close

· Content-Type: text/html

·

· «BODY»

· «H1»

· Пишут, что…

· «HR»

· «/H1»

· «I»«B»И«/B»дея "единого ножа для швейцарской армии" имеет свои достоинства,

· но когда ее доводят до абсурда, этот нож становится камнем на шее.«/I»

· «BR»

· «DIV align=right»

· Никлаус Вирт

· «BR»

· "От разработки языков программирования к констуироваию компьютеров"

· «HR»

· «/BODY»

Указание спецификации HTTP 1.0 приводит к тому, что ответ сервера немного отличается от предыдущего. В нем появляется заголовок с множеством любопытных полей, несущих в себе информацию о сервере, дате последней модификации документа и других, не менее полезных сведений.

Выделенная жирным шрифтом строка «Connection: close» говорит о том, что по умолчанию выбран режим разрыва соединения сразу же после выдачи ответа. Такой поход снижает нагрузку на сервер, позволяя пользователю спокойно, не торопясь изучать содержимое странички, не занимая канал. Однако, это не совсем удобно (или совсем неудобно) при работе в telnet-клиенте.

Чтобы изменить значение поля “Connection” на противоположное, необходимо присвоить ему значение «Keep-Alive», послав серверу любой запрос [254]. Один из способов сделать это, продемонстрирован ниже:

· GET /~kpnc/ HTTP/1.0

· Connection:Keep-Alive

·

· HTTP/1.1 200 OK

· Date: Sat, 15 Apr 2000 06:10:37 GMT

· Server: Apache/1.3.6 (Unix)

· Last-Modified: Thu, 13 Apr 2000 11:30:04 GMT

· ETag: "b139bf-83-38f5afbc"

· Accept-Ranges: bytes

· Content-Length: 131

· Keep-Alive: timeout=15 , max=100

Поделиться:
Популярные книги

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Генерал Скала и сиротка

Суббота Светлана
1. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Генерал Скала и сиротка

Его наследник

Безрукова Елена
1. Наследники Сильных
Любовные романы:
современные любовные романы
эро литература
5.87
рейтинг книги
Его наследник

Мастер Разума II

Кронос Александр
2. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.75
рейтинг книги
Мастер Разума II

Отверженный VII: Долг

Опсокополос Алексис
7. Отверженный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Отверженный VII: Долг

Ваше Сиятельство 2

Моури Эрли
2. Ваше Сиятельство
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Ваше Сиятельство 2

Боксер 2: назад в СССР

Гуров Валерий Александрович
2. Боксер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Боксер 2: назад в СССР

Лорд Системы 12

Токсик Саша
12. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 12

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Черный Маг Императора 12

Герда Александр
12. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 12

Лорд Системы 8

Токсик Саша
8. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 8

Изгой Проклятого Клана. Том 2

Пламенев Владимир
2. Изгой
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Изгой Проклятого Клана. Том 2

Небо в огне. Штурмовик из будущего

Политов Дмитрий Валерьевич
Военно-историческая фантастика
Фантастика:
боевая фантастика
7.42
рейтинг книги
Небо в огне. Штурмовик из будущего

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6