Мониторинг пакетов НТТР-трафика. Создание НТТР-трасс

В конечном счете, монитор может записывать самую разнообразную информацию об HTTP-графике. Соответствующий набор полей зависит от того, для какого вида анализа будут использоваться эти записанные значения (трассы). В противоположность традиционным журналам прокси-серверов и Web-серверов, трасса пакетов может содержать информацию на нескольких протокольных уровнях (IP, TCP, HTTP), а также метки времени для ключевых этапов каждой НТТР-трапзак- ции. Образцы полей приведены в таблице 14.1. Для форматов трасс измерений Web-трафика на пакетном уровне не существует никаких официальных или неофициальных стандартов. В связи с этим трасса пакетов может содержать практически любую информацию, которая может быть извлечена из исходных данных. Однако извлечение, запись и хранение нолей создает нагрузку на монитор пакетов, что может сказываться на перехвате и восстановлении НТТР-трафика. Нахождение оптимального компромисса зависит от объема трафика в канале, а также от быстродействия платформы, на которой реализован мопитор и от эффективности аннаратных средств восстановления.

На уровне IP и TCP монитор может записывать IP-адреса клиента и сервера, а также число байтов и пакетов, переданных в каждом направлении. ТСР-соедине- ние начинается с трехэтаниого обмена, состоящего из клиентского SYN, серверного SYN-ACK и клиентского ACK. Метки времени для двух пакетов SYN помечают начало каждого направления TCP-соединения. Аналогично, метки времени пакетов FIN или RST в каждом из направлений помечают конец соединения. Отслеживание, закапчивается ли соединение пакетом FIN или RST, дает возможность идентифицировать прерванные передачи. Кроме того, трасса может идентифицировать, сталкивался ли монитор с потерей пакетов для данного TCP-соединения, и не па- рушила ли потеря пакетов процесс восстаповлепия. Помимо полей, приведенных в таблице 14.1, мопитор может записывать размер и метку времени для каждого пакета в TCP-соединении. Эти сведения могут оказаться полезными для определенных задач анализа, по при этом потребуется запись и храпение дополнительной информации.

Таблица 14.1. Примеры полей в трассе пакетов

Категория

Примеры

TCP/IP

IP-адреса клиента и сервера

Количество переданных пакетов и байтов

Мстка времени для начала ТСР-сосдинения (SYN)

Метка времени для конца TCP-соединения (FIN/RST)

Способ завершения потока (FIN или RST)

Ошибки (отсутствующий пакет в составе потока)

HTTP

Заголовок запроса HTTP

Заголовок ответа HTTP

Метка времени начала НТТР-заголовка

Мстка времени пачала тела HTTP

Мстка времени копца тела HTTP

Ошибки (сообщения с некорректным синтаксисом HTTP)

Содержимое

Контрольная сумма тсла содержимого

Встроенные ссылки

На уровне HTTP мопитор пакетов может записывать заголовки запроса и ответа HTTP. Выборочная регистрация подмножества заголовков сократит затраты на запись, хранение и Анализ трассы. Оптимальный выбор зависит от компромисса между затратами на сбор данных и желанием анализировать данные разными способами. Каждое НТТР-сообщение занимает определенную часть байтового потока базового ТСР-соединения, как было показано ранее на рис. 14.2. Поскольку одно TCP-соединение может обслуживать несколько HTTP-передач, метки времени па- чала и конца ТСР-соедииения не обязательно являются хорошими показателями для определения времени отправки каждого НТТР-сообщения. Монитор пакетов может регистрировать метки времени для основных частей НТТР-сообщения: начала заголовка, начала тела сообщения и конца тела сообщения. Чтобы определить эти Значения времени, программное обеспечение монитора должно принимать во внимание метки времени, ассоциированные с соответствующими IР-пакетами.

Некоторые НТТР-сообщения содержат тело содержимого. Теоретически монитор пакетов может записывать тело каждого НТТР-сообщения. Однако это приведет к значительным затратам, связанным с записью и хранением данных, поскольку тело сообщения часто имеет гораздо больший размер, чем HTTP-заголовок. Тем не менее, информация о содержимом может оказаться полезной при проведении анализа. Например, контрольная сумма содержимого может использоваться для определения, изменился ли Web-pecypc с последнего обращения к нему. Помимо этого, регистрация гипертекстовых ссылок и встроенных изображений в HTML-файле будет полезной для определения Web-pecypcoB, связанных с Web-страницей. Монитор может избирательно записывать тело содержимого, либо информацию о теле содержимого, в зависимости от информации в HTTP-заголовке. Например, просмотр заголовка Content-Type позволит монитору идентифицировать HTML-ресурсы, которые могут иметь гипертекстовые ссылки и встроенные ресурсы. Кроме того, мошггор может с помощью синтаксического анализатора HTML извлечь URL и записать их в трассу. Или же монитор может записать весь HTML-файл и отложить синтаксический анализ данных на более позднее время.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100