Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3483 / 787 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 14:

Анализаторы сетевых потоков

Ethereal

Инструмент Ethereal представляет собой хороший графический внешний интерфейс к файлам перехваченных пакетов, созданным несколькими различными перехватчиками пакетов ( packet sniffers ), включая tcpdump и WinDump. Он имеет также свои собственные "живые" способности перехвата пакетов, использующие библиотеку pcap. Применяя Ethereal к предварительно созданным файлам перехваченных данных, вы можете рассматривать детали зафиксированного сеанса, включая данные пакета.

Инструмент Ethereal доступен как для Windows, так и для Unix-систем и его можно загрузить с сайта http://www.ethereal.com/. Для его работы требуется библиотека pcap. Также необходимо иметь установленную библиотеку GIMP Toolkit (GTK), потому что инструмент использует GTK для своего графического интерфейса. Пользователям Windows повезло, поскольку DLL-файлы GTK теперь поставляются в двоичном коде. За исключением опций установки инструмента, сама установка для обеих операционных систем достаточно похожа. Поскольку мы уже описали установку этих инструментов для Unix и Windows в предыдущих разделах, то перейдем сразу к более интересной части.

Примечание. Ethereal состоит из нескольких встроенных инструментальных средств, которые должны устанавливаться по умолчанию и в Windows и в Unix. Путем выбора вы можете пропускать инсталляцию некоторых из этих компонентов, но мы рекомендуем включить все.
Реализация

Самый простой путь состоит в применении Ethereal к уже существующему файлу перехваченных пакетов, созданному с использованием командной строки tcpdump -w capture.dump. В этом случае мы можем открыть файл дампа File/Open (Файл/Открыть). Откроется диалоговое окно Open Capture File (Открытие перехваченного файла), показанное ниже.


В этом диалоговом окне вы можете выбрать открываемый файл, а также установить такие опции, как разрешение имен и дополнительные пакетные фильтры. Пакетные фильтры могут быть определены при анализе файла перехваченных данных или при выполнении "живого" перехвата. (О пакетных фильтрах речь пойдет далее.)

Давайте откроем файл capture.dump и посмотрим, как Ethereal отображает данные. Отображение файла показано на рис. 14.1.

Отображение в Ethereal файла дампа сеанса telnet, созданного утилитой WinDump

увеличить изображение
Рис. 14.1. Отображение в Ethereal файла дампа сеанса telnet, созданного утилитой WinDump

Как видно из рисунка, у Ethereal гораздо более понятный интерфейс, чем у tcpdump или WinDump. Верхняя панель содержит информацию, подобную той, которую дают два других инструмента, но здесь фактически мы можем перемещаться по этим данным. На рисунке выбран первый пакет подключения. В средней панели мы можем видеть детальную информацию о каждом заголовке пакета, включая TCP, IP и заголовочную информацию Ethernet. Третья панель содержит шестнадцатеричный и ASCII-дамп фактического содержания пакета. Таким образом, мы можем получить любой бит интересующей нас информации о любом пакете этого подключения, включая данные.

Пакетные фильтры

Графический интерфейс программы Ethereal облегчает создание пакетных фильтров как для файлов перехваченных пакетов (фильтры отображения) так и для "живого" перехвата (фильтры перехвата) через диалоговое окно Display Filter (Отображение фильтра), доступное по щелчку на кнопке Filter (Фильтр) в нижнем левом углу.

Вы можете дать имя своим фильтрам и сохранить их для последующего использования, чтобы загрузить их позже простым выбором и щелчком. После того как вы изучите синтаксис фильтров программы Ethereal, вы сможете печатать их непосредственно в этом диалоговом окне. Но пока вы не знаете синтаксис фильтров программы Ethereal, вы можете щелкнуть на кнопке Add Expression (Добавить выражение), чтобы создать фильтры графически в диалоговом окне Filter Expression (Выражение для фильтра), показанном на рис. 14.2.

Добавление выражений к фильтру с помощью графического интерфейса

увеличить изображение
Рис. 14.2. Добавление выражений к фильтру с помощью графического интерфейса

Ethereal - намного более мощный инструмент, чем tcpdump и WinDump. Он способен осуществлять фильтрацию почти по любой характеристике пакета и любому значению, находящемуся в раскрывающихся списках. В диалоговом окне Filter Expression, показанном на рис. 14.2, мы ищем только пакеты TCP SYN (начало TCP-подключений). Чтобы комбинировать фильтры, можно использовать булевские выражения AND и OR.