Россия, Владимир, Владимирский государственный университет, 2002 |
Отладка с использованием анализатора протоколов
Хотя большинство программных продуктов содержат некоторые средства устранения неполадок (например, большинство браузеров позволяют просмотреть исходный html-код страницы), эти средства отладки обычно предлагают "предварительную обработку" выходных данных. Например, использование инструментов отладки в браузере обычно позволяет только лишь просмотреть HTML-содержимое уже после распаковки и разрешения, но не дает возможности увидеть нижележащие HTTP-диалоги. Таким образом, при отладке сетевой инфраструктуры и инфраструктуры безопасности полезно использовать так называемый анализатор протоколов, чтобы увидеть, что на самом деле происходит неявным образом. Цель этого приложения состоит в том, чтобы представить простой анализатор протоколов для устранения сетевых неполадок.
Что такое анализатор протоколов
Анализатор протоколов может представлять собой автономное аппаратное устройство, подключаемое в сегменты сети, которые требуется проанализировать, но чаще оно представляет собой программный пакет, устанавливаемый на рабочей станции. Эти продукты позволяют перехватывать сетевые диалоги связи между компьютерами и процессами, применять различные критерии выбора и фильтрации и выводить их в пользовательских форматах. Это включает интерпретацию содержимого в соответствии с протоколами, применяемыми на различных уровнях (например, TCP, HTTP, HTML). Некоторые из этих инструментов позволяют создавать собственные модули декодирования для протоколов, которые продукт не понимает изначально.
Рассмотрим два простых анализатора протоколов:
- EtherReal. На момент публикации курса этот инструмент был доступен для бесплатного копирования по адресу
- CommView. Сравнительно недорогой коммерческий продукт, доступный по адресу
Продукт CommView включает удаленный агент, который можно установить в одной точке сети. Он перехватывает трафик, видимый с этой точки, и передает экран отладки в место нахождения пользователя. Эта функция может быть очень полезной, так как она позволяет избежать шума и холода серверных и компьютерных комнат.
Использование анализатора протоколов
На следующих трех рисунках показан перехват трафика, связанного с загрузкой простой Web-страницы.
- На рис. A.1 представлены результаты, выводимые в браузер.
- На рис. A.2 представлен исходный HTML-код в том же браузере.
- На рис. A.3 представлен тот же HTML-код в анализаторе протоколов.
увеличить изображение
Рис. a.3. Та же операция GET, выводимая в основном окне анализатора протоколов (CommView)
Обратите внимание на то, что "исходный код", выводимый в браузере, начинается либо с <HTML>, либо с <! Doctype>. Вы видите начало HTML-содержимого в HTTP-ответе. Такое представление исходного кода не отображает HTTP-диалог между запрашивающей стороной (в данном случае браузером) и отвечающей стороной (в данном случае сервером Domino).
На рис. A.3 представлено основное окно анализатора протоколов CommView. Обычно выводится набор перехваченных пакетов и для выделенной строки выводится дамп пакета в шестнадцатеричном формате и в формате ASCII. В зависимости от используемого анализатора протоколов можно также получить структурный анализ фактического трафика с интерпретацией на различных уровнях (Ethernet, IP, TCP, HTTP и т. д.). В правой панели на рис. A.3 показан такой структурный анализ.
Однако это все же не настолько удобно для чтения, как администратор Lotus, читающий этот курс, мог бы ожидать. Чтобы обеспечить более дружественный и практичный интерфейс, некоторые анализаторы протоколов содержат опцию "реконструкции" набора пакетов, включая выделенный. На рис. A.4 представлен пример такой реконструкции.
При более подробном рассмотрении рис. A.4 мы можем увидеть все основные аспекты HTTP-соединения. Сначала показан ASCII-диалог заголовков HTTP-запроса (с браузера на сервер, первые 11 строк на рисунке). Затем, после пустой строки, показаны заголовки HTTP-ответа (с сервера Domino на браузер, следующие 8 строк). И, наконец, после заголовков ответа в области ответа выводится всем знакомый HTML-текст (выделен), такой же, какой выводится при вызове функции просмотра исходного кода в браузере. Это показывает, что функция View Source (Просмотр HTML-кода) применима только при отладке самой Web-страницы, но полностью бесполезна для отладки HTTP-диалогов. Для этого необходим анализатор протоколов.
Конечно же, дружественные анализаторы протоколов также позволяют при наличии перехваченных данных воссоздать экран, выводимый в браузере.