Раньше при возникновении проблемы с сетью, часто приходилось гадать, что же вызвало неполадки. Позже появились специализированные устройства, которые были дорогими, трудными для управления и понимания. Теперь имеется сетевой монитор, который является программным инструментом анализа компании Microsoft. Существуют две версии этой программы: сокращенная, поставляемая с серверными операционными системами, и полная, которая поставляется с сервером управления системами. Microsoft Network Monitor Lite способен перехватывать трафик, предназначенный только для машины, выполняющей программу. Полная версия переводит сетевой адаптер в "режим, не делающий различия" — т.е. он перехватывает трафик, направленный на компьютер, выполняющий Microsoft Nerwork Monitor, а также трафик, предназначенный для других устройств.
Network Monitor 2.0 поставляется вместе с Windows 2000 в версии Lite, а полная версия поставляется вместе с Windows NT 4.0 и SMS 2.0. Network Monitor 1.2. поставляется вместе с Windows NT 4.0 и SMS 1.2. В действительности существует лишь Небольшое различие между версиями продукта 2.0 и 1.2, так как функционально они одинаковы. Мы укажем различия, но большая часть рассматриваемого материала применима к любой версии продукта.
Microsoft Network Monitor копирует кадры в буфер перехвата, который является областью памяти с изменяемым размером. По умолчанию этот буфер перехвата равен одному мегабайту, но это легко изменить. Однако в связи с этим зависимым от памяти буфером перехвата сетевой монитор может перехватить лишь столько информации, сколько может поместиться в доступной памяти. Когда буфер будет заполнен, он начнет отбрасывать пакеты, и поэтому можно пропустить разыскиваемую информацию. Кроме того, сетевой монитор имеет склонность блокировать и связывать большую часть ресурсов процессора, когда ему разрешается выполняться в течение продолжительных периодов после полного заполнения буфера. К счастью, легко прекратить его работу с помощью Task Manager, но тогда теряется весь перехваченный файл. Мы узнаем некоторые приемы решения этой проблемы при рассмотрении необслуживаемого мониторинга сети. Потеря файла обычно не является проблемой, так как можно выбрать, какую часть кадра необходимо увидеть, создавая фильтр перехвата. Фильтр перехвата (который в определенном смысле похож на запрос к базе данных) позволяет перехватывать только определенные адреса или типы кадров. Мы поговорим об этом в разделе о перехвате данных.
Так как Microsoft Nerwork Monitor легкодоступный, очень мощный инструмент, способный перехватывать данные из сети, необходимо позаботиться о системе безопасности. Как мы видели в других главах, обладая определенными навыками, из сети можно получить очень важную информацию. Microsoft Nerwork Monitor может быть прекрасным инструментом для поиска неисправностей, но также может представлять существенную опасность, оказавшись в недобросовестных руках. Есть несколько способов защиты сети от неавторизованного использования этого инструмента. Мы-поговорим об этом позже, в разделе о безопасности сетевого монитора.
Microsoft Network Monitor не устанавливается по умолчанию. Чтобы установить его, перейдите к вкладке служб сетевого апплета в панели управления и выберите добавить (add) инструменты сетевого монитора и агент. (ПРИМЕЧАНИЕ. Не забудьте выбрать инструменты сетевого монитора и агента, а не просто агента сетевого монитора, который представлен в списке ниже и не включает программу Microsoft Network Monitor.) Установка версий SMS использует отдельную программу Setup.exe, находящуюся в каталоге NMEXR на сайте издательства "ЛОРИ".
Когда данные перехвачены и применен фильтр вывода данных, наступает время анализировать кадры. Верхняя панель является итоговой панелью, которая содержит информацию перечисленную ниже. Эти столбцы можно переупорядочить, нажимая заголовок столбца и перетаскивая в новое желаемое положение.
• Номер кадра. Microsoft Network Monitor присваивает кадру номер для целей учета. Он в реальности не появляется в самом кадре, но добавляется программой, чтобы упростить ссылку на информацию, находящуюся в перехваченных данных.
• Время. Время, также присваиваемое Microsoft Network Monitor, позволяет узнать, сколько времени проходит между кадрами. Это предоставляет полезную информацию при выполнении анализа сетевой производительности. Время, которое выводится в этом столбце, конфигурируется в параметрах меню Display. Существуют три возможности: время дня, секунды с начала перехвата и секунды от прохождения предыдущего кадра. Выбирая время дня, можно сопоставить информацию из журнала событий Windows с информацией, перехваченной Microsoft Network Monitor. Такое сопоставление допустимо для мощного поиска неисправностей при появлении ошибочных сообщений.
• Адрес MAC источника. Это устройство, которое прежде всего создает кадр. Есть три возможности для вывода адреса MAC, задаваемые из меню Options. Можно выбрать вывод имени, которое присвоено адресу MAC в адресной книге Microsoft Network Monitor; можно выбрать вывод просто адреса MAC (поведение по умолчанию); или можно выбрать вывод имени поставщика, связанного с первыми шестью байтами адреса MAC. Это бывает полезно при попытке найти неизвестное устройство в сети.
• Адрес MAC места назначения. Это аппаратный адрес места назначения пакета.
• Протокол. Это основной протокол кадра.
• Описание. Это поле предоставляет суммарную информацию о кадре Описание также конфигурируемо с помощью параметров меню Display. Существует две возможности: последний протокол в кадре или автоматический выбор на основе используемого фильтра вывода. Часто можно собрать достаточно информации из сводки, чтобы получить представление о том, что происходит в сеансе перехвата. Трехходовое квитирование TCP легко обнаружить по описанию. Здесь часто показывается информация о флагах TCP.
• Другой адрес источника. Чтобы увидеть это поле, следует переместить ползунок в нижней части итоговой панели. Другой адрес источника является адресом другого протокола, содержащимся в кадре.
• Другой адрес места назначения. Это адрес другого протокола, содержащийся в кадре.
• Тип другого адреса. Этот адрес сообщает, какой протокол содержат поля другого адреса.
Детализированная панель находится в середине. Здесь происходит большая часть анализа. Microsoft Network Monitor использует файлы .dll и файлы .ini для синтаксического разбора протокола. Существуют, например, файлы TCP.dll и TCP.ini, хранящиеся в каталоге синтаксического разбора Microsoft Network Monitor. Чтобы правильно проанализировать протоколы, которые Microsoft Network Monitor не понимает, необходим анализатор .dll и файл .ini. Можно написать их самостоятельно или получить их от независимых поставщиков.
Шестнадцатеричная панель находится в нижней части и содержит специальную информацию об анализируемом кадре. Например, рассматривая трассировки протокола РОРЗ, мы замечаем, что вся информация находится в шестнадцатеричной трассировке, а не в детализированной панели. Знание того, как читать шестнадцатеричную трассировку, поможет создать специальные фильтры перехвата.
На рис. изображен транспортный кадр NetBIOS, который переносится поверх TCP, IP и протокола Ethernet. Этот конкретный кадр является дежурным кадром сеанса. Если требуется создать фильтр перехвата, который перехватывает только дежурные кадры сеанса NetBIOS (возможно, для анализа влияния дежурного трафика NetBIOS на сеть, нам понадобится использовать смещение образца. Мы расширяем раздел NBT трассировки, щелкая на знаке плюс рядом с итоговой строкой NBT. Затем выбираем строку NBT: packet type. Отметим, что соответствующий раздел шестнадцатеричной трассировки автоматически подсвечивается, когда мы выбираем различные строки в детализированной панели. Когда мы выбираем packet type = session keep alive, подсвечивается шестнадцатеричное число 85 в строке 30. Теперь мы можем отсчитывать, пока не увидим, что шестнадцатеричное число 85 находится в смещенной позиции шестнадца-теричного 36 с начала кадра. Вместо отсчета можно посмотреть в нижний правый угол экрана Microsoft Network Monitor. Там мы видим, что это смещение 54 (десятичное) х36 (шестнадцатеричное). Эту информацию можно ввести в шаблон совпадения фильтра перехвата.
Сетевой монитор SMS 1.2 включает несколько мастеров, которые помогут найти некоторые важные данные. Это отчеты (они не являются в действительности мастерами) верхнего пользователя и распределения протокола. Другие функции мастеров — поиск всех маршрутизаторов в файле перехвата и поиск всех имен в файле захвата, а также они могут разрешать адреса по именам. Недостаток этих отчетов в том, что не существует способа сохранить информацию помимо печати экрана (print screen) для перехвата отчета с экрана. Это существенный недостаток, так как часто полезно распечатать данные, в частности, отчет верхнего пользователя. Рассмотрим отчет верхнего пользователя.
Отчет верхнего пользователя активируется в режиме вывода (когда выводятся перехваченные данные в противоположность просмотру статистики сеанса). Отчет выбирается из меню Tools и имеет возможность показать, сколько выводить верхних пользователей, и основывается ли список на адресе канала данных или на адресе MAC. Можно также применить текущий фильтр вывода или выбрать игнорирование фильтра вывода и основывать отчет на всем файле перехвата. Как можно видеть на рис., отчет перечисляет имя, адрес, число кадров и процент числа кадров и размера кадра. Эта информация может помочь при планировании и расширении сети, а также при обнаружении нарушений эксплуатации сети.
Отчет о распределении протоколов доступен таким же образом, как и отчет верхних пользователей: из меню Tools в режиме вывода. Возможности этого отчета включают перечисление всех протоколов в кадре, сообщение о последнем протоколе в кадре и сообщение о первом действующем в кадре протоколе. Кроме того, можно выбрать дальнейшее ограничение на отчет, применяя текущий фильтр вывода к отчету. Этот отчет может стать ущественной помощью при попытке выявить аномалии в сети. Однако чтобы эта информация была наиболее полезна, необходимо знать, каким является нормальное распределение для сети. Если, например, сеть обычно имеет очень немного кадров ARP_RARP, но внезапно ими заполняется, есть хорошая исходная точка для поиска. Если же произошел внезапный всплеск пакетов UDP, это будет иметь другое значение. Знание того, что является нормальным для сети, трудно переоценить. Как можно видеть на рис. отчет перечисляет каждый протокол, число кадров и байтов и процент для перехваченных данных.
Поиск сетевых адресов по имени позволяет вводить имя компьютера, а поиск найдет соответствующий адрес МАО Это не очень сложно выполнить в сети TCP/IP, так как можно сделать ping имени хоста и затем получить информацию из кэша ARP с помощью команды ARP -а. Однако он может также использовать SAP, DNS и запрос базы данных SMS, поэтому это может быть более мощное решение. Если происходит обычная проверка адреса MAC, часто быстрее перейти в окно CMD и сделать ping и ARP -а. Как мы видим на рис, когда имя разрешено, будет выведена вся найденная о нем информация. Выбор только тех служб, которые присутствуют в сети, может оптимизировать этот процесс. Кроме того, можно ускорить процесс, делая локальную базу данных ADR первым источником, который будет запрашиваться с помощью кнопок "плюс" и "минус" рядом окном выбора службы.
Триггер проверяет кадры по мере их прохождения. Сетевой монитор собирает данные, чтобы найти кадры, удовлетворяющие некоторым критериям. Если они удовлетворяют заданному условию, то сетевой монитор выполнит некоторые заданные действия. Это весьма мощный инструмент, открывающий почти неограниченные возможности. Очень простой триггер, который не даст потерять данные во время сеанса мониторинга, создается с помощью выбора триггера на пространстве буфера, выбирая 100% для задания пространства буфера и задавая затем действие триггера как остановку перехвата.
Чтобы несколько усовершенствовать этот триггер, напишите простой пакетный файл, который будет выполнять команду net send, уведомляя, что перехват данных остановлен, а затем прикажите триггеру выполнить этот пакетный файл (с расширением .bat), когда перехват данных остановится.
Этот пакетный файл может состоять только из одной строки и выглядеть как файл, представленный ниже. Его можно написать в notepad и затем переименовать файл с расширением .txt в файл с расширением .bat и указать в командной строке его расположение.
Использование триггеров может стать очень сложным, когда вводятся элементы смещения шаблона. Используя смещения шаблона, сетевой монитор может идентифицировать широкое множество событий и выполнить все, что можно выполнить из командной строки — включая другой экземпляр сетевого монитора на другой машине. Использование шестнадцатерич-ной панели для идентификации смещения и шаблона для определения события, которое будет за этим инициироваться, может определить эти смещения шаблона. Это делается таким же способом, который рассматривался ранее в этой главе в разделе о разработке фильтров перехвата.
Если требуется автоматически запускать сетевой монитор либо с помощью пакетного файла с триггером, либо с помощью службы планировщика Windows NT (команда AT), можно использовать следующие ключи командной строки. Каждый из этих ключей изменяет команду netmon. Пример пакетного файла включен в каталог batch на сайте издательства "ЛОРИ". Чтобы облегчить использование Netmon из командной строки, добавьте каталог с исполняемым файлом в путь доступа компьютера, изменяя переменную path системного окружения.
• /autostart — заставляет сетевой монитор запустить перехват данных немедленно после запуска. Пример: netmon /autostart.
• /remote computer - computer является именем удаленного агента, с которым
• желательно соединиться. Пример: Netmon /remote exchange.
• /net number - number определяет соединение с указанным сетевым интерфейсом. Эту информацию получают при помощи команды networks из меню capture. Пример: Netmon /net 2 (запустит Netmon, используя интерфейс сети #2, указанный в диалоговом окне сетей, но не начнется перехват данных, так как не определен ключ /autostart).
• /capturefilter path — определяет фильтр перехвата, который будет использоваться при работе сетевого монитора. Path задает расположение определенного фильтра перехвата.
• /displayfilter path — определяет фильтр вывода, который будет загружаться при запуске сетевого монитора.
• /buffersize number — задает размер буфера в байтах (одномегабайтный буфер перехвата будет определяться как /buffersize 1024000).
• /quickfilter type, address — указывает, что сетевой монитор начнет перехват данных сразу после запуска, и будет фильтровать на указанном адресе.
• /autostop — заставляет сетевой монитор остановить перехват данных, когда буфер заполнится. Пример: Netmon /autostart /buffersize 1024000 /autostop (запускает Netmon и немедленно начинает перехват данных с буфером перехвата в один мегабайт. Когда буфер перехвата заполнится, он остановится).
