Сервер Exchange в действии

Рассмотрим теперь некоторые трассировки, показывающие, как работает почта SMTP в реальной жизни. Для создания соединения SMTP с Exchange требуется пять кадров и 420 байтов. Это включает трехходовое квитирование, кадр готовности службы SMTP и еще один кадр подтверждения (АСК). Посмотрим на кадр готовности службы на распечатке ниже. Код ответа 220, как мы знаем из таблицы, означает, что служба готова. Этот кадр поступает из порта 25, который используется для службы SMTP. Код 220 посылается как стандартный код ASCII и показан в шестнадцатеричной панели как 32 32 30. Символ ASCII для 20 равен 50 и преобразуется в шестнадцатеричное 32. Символ ASCII для 0 равен 48 и преобразуется в шестнадцатеричное 30.
Хотя TCP является дуплексным протоколом, SMTP действует только в полудуплексном режиме. Это означает, что посылаемый символ должен быть подтвержден перед посылкой следующего символа. Это требование создает большой объем трафика подтверждения (АСК). Например, просто отправка команды HELO требует 11 кадров и 695 байтов. Когда посылается и подтверждается HELO, следующий кадр с клиентской машины посылает 0D OA (ASCII 13, возврат каретки, и ASCII 10, перевод строки), как видно на распечатке ниже.

Протокол PОP3

Протокол РОРЗ используется как упрощенный протокол почты, который хранит сообщения на сервере, пока клиентская машина не соединится и не выгрузит их по запросу. Он делает не слишком много по обработке сообщения на сервере; служба РОРЗ просто слушает порт TCP 110, пока почта не будет извлечена, и удаляет ее из почтового хранилища. Это не очень развитый протокол, но он достаточно эффективен.
Когда клиент РОРЗ хочет создать соединение, он следует схеме одиночных рабочих команд. Подобно протоколу SMTP, который был рассмотрен ранее, команды состоят из символов ASCII, разделенных пробелами. Эти команды имеют длину в три или четыре символа. Модификаторы для команд РОРЗ могут быть до 40 символов длиной.
Сервер РОРЗ дает два типа ответов. Первый ответ является положительным. Отрицательным ответом является -ERR. Оба эти ответа должны быть представлены заглавными буквами и содержать либо знак -, либо знак +.
Некоторые команды будут создавать многострочный ответ с сервера (например, команда list), и каждая строка будет заканчиваться комбинацией возврата каретки и перевода строки (та же самая комбинация ASCII 13 и ASCII 10 использовалась в протоколе SMTP). Когда все строки будут посланы, сервер пошлет . (ASCII 46) и дополнительный перевод строки. Это та же комбинация <RLF>.[T04Ka]<RLF>, которую мы видели в протоколе SMTP.
Четыре состояния РОРЗ Во время процесса соединения клиента и получения почты РОРЗ проходит через четыре состояния. После начального соединения TCP и последующего приветствия сервер входит в состояние авторизации, в котором клиент идентифицирует себя. Вслед за состоянием авторизации РОРЗ входит в состояние транзакции и получает команды с клиентской машины для обработки почты. После успешной обработки почты и отправки клиентом команды завершения quit сеанс входит в фазу обновления и освобождает ресурсы, использованные во время состояния транзакции. Затем соединение TCP закрывается. Эта последовательность событий для успешного сеанса подробно описана в следующем списке.
1. Клиентская машина запрашивает у DNS адрес.
2. Когда адрес получен, машина инициирует трехходовое квитирование на порте 110.
3. Вслед за трехходовым квитированием сервер посылает приветствие.
4. Клиент отвечает именем пользователя.
5. Сервер проверяет, существует ли пользователь в системе, и отвечает с помощью +ОК.
6. Клиент отвечает паролем.
7. Сервер отвечает +ОК.
8. Клиент запрашивает состояние почтового ящика.
9. Сервер отвечает, посылая число и размер сообщений в почтовом ящике.
10. Клиент запрашивает список сообщений.
11. Сервер отвечает.
12. Клиент пересылает себе сообщения.
13. Клиент стирает сообщения на сервере.
14. Когда все сделано, он посылает команду завершения quit.
15. Сервер отвечает с помощью+ОК
Таблица 8.2 суммирует команды РОРЗ, которые обычно встречаются в трассировках сетевого мониторинга.

Перехват трафика вручную

Пришло время запустить сетевой монитор. Чтобы управлять перехватом вручную, используется меню перехвата. Однако прежде чем нажать Start, необходимо задать размер буфера. Выбор настроек буфера из меню перехвата позволит сконфигурировать буфер. Используемый по умолчанию максимальный размер буфера перехвата, равный 8 мегабайтам, меньше объема оперативной памяти, установленной на машине. Хотя можно использовать виртуальную память для буфера перехвата, лучше этого не делать для гарантии, что критически важная информация кадра надежно перехвачена. Microsoft Network Monitor пошлет предупреждение при попытке ввести размер буфера перехвата больше физической памяти машины. Сообщение говорит: "Запрашиваемый размер буфера может вызывать потерю кадров в связи с процессом подкачки. Вы уверены, что хотите разместить буфер этого размера?"
Помимо выбора размера буфера можно также выбрать размер кадра, который желательно перехватывать. Например, если интересует только информация заголовка для определенного протокола, то можно задать здесь эту информацию и не тратить пространство на перехват лишних данных кадра. Какой размер кадра перехватывается, зависит от определенного исследуемого протокола. Например, так как мы знаем, что нормальный заголовок Ethernet равен 14 байтам, можно задать кадр перехвата в 14 байтов и перехватывать только заголовки Ethernet. Это позволит нам перехватить 73142 кадра с помощью одномегабайтного буфера перехвата. Можно было бы использовать 34-байтовый кадр для перехвата заголовка IP (14 байтов для заголовка Ethernet и 20 байтов для заголовка IP). Это очень полезно при исследовании проблем передачи файлов, которые часто содержат 1200 или больше байтов данных пользователя, которые могут быстро заполнить буфер перехвата.
Обновление окна статистики перехвата, показанного на рис., создает для центрального процессора нагрузку, которая может быть излишней. Выбирая режим выделенного (dedicated) перехвата в меню перехвата, можно избежать нагрузки, связанной с обновлением изображения, и тем самым предоставить дополнительные ресурсы для перехвата кадров. Как показано на рис, в режиме выделенного перехвата имеется возможность переключения в нормальный режим, выбрав его из меню перехвата. Можно сделать все эти переключения во время работы Microsoft Network Monitor и не потерять кадры. Кроме того, можно приостановить Netmon и продолжить работу приложения в этом режиме.

Просмотр перехваченных данных

Когда сеанс перехвата закончен, что мы имеем? Сетевой монитор упрощает задачу анализа данных, организуя перехваченные данные в несколько различных представлений и выполняя большую часть анализа протокола. На рис. мы видим сводное представление. Оно полезно для получения обзора информации, содержащейся в перехваченных данных. Большое число кадров BPDU на рис. являются конфигурационными сообщениями коммутатора.
Добавляя подробное и шестнадцатеричное представления из меню Window, можно найти такую информацию, как адрес источника и адрес места назначения кадра. На рис. мы видим источник и место назначения трафика BPDU, который поглощает большую часть полосы пропускания сети. Вооружившись этой информацией, можно перейти к машине и

Фильтрация данных перехвата

В сетевом мониторе используются два вида фильтров. Первым является фильтр перехвата, а вторым — фильтр вывода. Оба они работают аналогичным образом. Фильтр работает в некотором смысле как запрос, применяю щийся к базе данных. Он позволяет выбрать часть или подмножество доступных данных. Например, если удалось сузить проблему до определенного компьютера, то можно отфильтровать весь остальной трафик и сосредоточиться только на этом компьютере. Еще одним свойством является возможность сохранить фильтры и использовать их позже (несколько полезных фильтров находится на сайте издательства "ЛОРИ". Это пригодится при попытке исправить определенную проблему. Можно сохранить множество данных, а после выполнения изменений фильтр выполняется снова, позволяя тем самым проследить за произошедшими изменениями.
Фильтр перехвата Чтобы создать фильтр перехвата, из меню надо выбрать пункт filter. Как показано на рис, можно фильтровать данные по протоколу, по адресу или по образцу данных (или по комбинации всех трех).
Если желательно фильтровать по протоколу, необходимо выбрать строку SAP/ETYPE и нажать кнопку Edit line. Появится меню, позволяющее выбрать тип протокола, который желательно отфильтровать. Чтобы выбрать один определенный протокол, проще всего отключить все протоколы и затем включить один протокол, который желательно проверить. Хотя диалоговые окна довольно неудобны для использования, можно быстро перейти к разделу, щелкая по именованному заголовку и вводя затем первую букву требуемого протокола или адреса. Это немного лучше, чем прокручивать длинный список адресов.
Если вас интересует только одна машина, выберите адресные пары и снова нажмите кнопку Edit line (или просто сделайте двойной щелчок по выражению). Этот фильтр работает одинаково в режиме перехвата и режиме вывода и является отличным инструментом, используемым при анализе общения между серверами и рабочими станциями или между принтерами.
Фильтр перехвата на совпадении с образцом немного сложнее для использования, так как он требует определенных знаний о месте кадра, где может появиться определенный образец. Для поиска этой информации используется анализ существующей перехваченной информации в шестнад-цатеричной панели. Когда будет найден шаблон для определенного примера, создайте фильтр перехвата и протестируйте его для проверки, что он делает то, что нужно. Мы рассмотрим это при анализе шестнадцатеричной панели.
Фильтр вывода данных Фильтр вывода данных работает почти так же, как и фильтр перехвата, но действует на уже перехваченных данных. Он не изменяет содержимое буфера перехвата. С помощью фильтра вывода данных можно выбрать определенный протокол, адрес или свойство данных, чтобы помочь отсортировать данные. Выборка делается таким же образом, как и при создании фильтра перехвата. Однако существует одно важное различие: можно применять также логические операции AND, OR или NOT. Эта возможность предоставляет больший диапазон выбора при создании фильтра, чем это доступно в режиме фильтра перехвата. Как показано на рис. 9.7, появляется меню, позволяющее выбрать адрес, который желательно проверить. Существует возможность включить или исключить адрес. Можно также выбрать направление потока информации. Выберите имя для станции 1 в левом столбце, стрелку направления (помните, что вершина стрелки указывает направление потока данных), а затем выберите получателя в столбце станции 2. Например,, на рис. фильтр включает трафик данных из ED1750 во все станции сети, а также трафик из любой станции сети в ED1750. Это полезно при анализе образцов трафика сервера.