Мониторинг пакетов НТТР-трафика. Перехват пакетов

Кроме подключения к каналу передачи данных, мопитор должен иметь эффективный способ идентифицировать, какие IP-иакеты перехватывать при их поступлении. Протоколы прикладного уровня Обычно связапы с определенным ТСР-пор- том, например, HTTP использует порг 80. Для отслеживания НТТР-трафика монитор пакетов может ограничиться учетом ТСР-трафика на порту 80. Такое решение может быть принято для каждого конкретного пакета путем анализа поля протокола в IP-заголовке и номеров портов источника и места назначения в TCP- заголовке. Однако выделить весь НТТР-трафик достаточно трудно. Некоторые Web-сайты не используют данный порт, а порты 8000 или 8080. Кроме того, некоторые приложения могут взаимодействовать через порт 80, используя другой протокол. Хотя порты выделяются определенным приложениям, разработчик приложения или системный администратор могут игнорировать эти указания и задействовать порт 80 для приложения, использующего другой протокол.

Кроме того, в Web имеется протокол HTTPS, использующий порт 443. Мопитор пакетов может захватить HTTPS-трафик путем отслеживания ТСР-трафика, содержащего в качестве номера порта источника и места назначения порт 443. Однако данные, передаваемые через HTTPS, зашифрованы с применением Secure Socket Layer (SSL). Монитор не может идентифицировать НТТР-сообщения, передаваемые через эти ТСР-соедииения. Однако может перехватывать ТСР-трафик на порту 443 с целью расчета основных статистических показателей, таких как число соединений и байтов, передаваемых с помощью HTTPS. Другие передачи, инициированные Web-браузером, могут использовать другие протоколы прикладного уровня. В некоторых случаях этот трафик может перехватываться путем мониторинга портов, выделенных этим протоколам. Однако ряд приложений использует протоколы, которые динамически назначают номера порто» при передаче данных. Например, клиент и сервер File Transfer Protocol (FTP) могут динамически выбирать номер порта для ТСР-соединеиия, используемого для передачи данных. Аналогично многие протоколы для передачи мультимедийных потоков Обычно не используют определенные номера портов для передачи данных аудио и видео, о чем подробнее будет говориться далее в разделе 14.4.4.

Перехват трафика с определенными IP- и TCP-заголовками требует применения фильтра к IP-пакетам по мере их поступления. Как Можно более ранняя фильтрация пакетов сокращает издержки, связанные с копированием и обработкой пакетов, которые будут затем отвергнуты. Мопитор пакетов может иметь специальное аннаратное обеспечение, которое осуществляет классификацию пакетов при их приеме сетевой картой. Если аннаратная поддержка отсутствует, пакеты могут отфильтровываться операционной системой или приложением. Большое число программ мониторинга пакетов основывается на ипструмепталыюм средстве tcpdump

LJLM, Tcpj на основе фильтра пакетов Berkeley Packet Filter (BPF) [MJ93J. BPF-фильтры пакетов анализируют комбинации нолей заголовков IP и TCP/UDP, а также сохраняют фиксированное число байтов для каждого пакета, прошедшего через фильтр. Например, BPF может быть настроен так, чтобы перехватывать первые 40 байтов всех пакетов, использующих TCP на порту 80 в качестве источника или назначения, либо UDP-пакетов с портом назначения 23. Программное обеспечение BPF может быть установлено на большом числе платформ.

Для расчета основных статистических показателей Web-трафика может оказаться достаточным хранить заголовки IP и TCP. Однако для просмотра HTTP-co- общепий в TCP-соединении требуется иметь доступ к данным, следующим после заголовков IP и TCP. НТТР-сообщения могут быть разбиты на IP-пакеты различными способами. Следовательно, информация на уровне HTTP может размещаться в любом IP-пакете ТСР-соединеиия, как показано на рис. 14.2. Первое сообщение HTTP-запроса или ответа в соединении начинается с первого пакета, передаваемого после трехэтанного установления соединения между двумя компьютерами. Однако HTTP-заголовок может размещаться в нескольких пакетах. Кроме того, по одному долговременному соединению могут передаваться несколько НТТР-сооб- щений. HTTP-заголовки могут встретиться в любом месте ТСР-соедииеиия. Фактически заголовок может начинаться даже в середине IP-пакета. Таким образом, перехват каждой из HTTP-передач требует перехвата и анализа содержимого IР-пакетов.

Рис. 14.2. HTTP-сообщения, состоящие из последовательности ТСР-сегментов

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

Источник: 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