В данной статье речь пойдет о программе, которая позволяет администратору контролировать трафик, - Network Monitor . Анализаторы протоколов, встроенные в программу, организуют процесс разделения трафика на пакеты для облегчения анализа и получения информации, позволяющей отыскать проблемы в сетевых приложениях или неверно сконфигурированных рабочих станциях. В программу Network Monitor входят фильтры-дисплеи, позволяющие выделить специальную информацию при больших сетевых потоках; фильтры захвата, выбирающие из всей захваченной информации ту, которая необходима; и триггеры, позволяющие системе выполнять определенные действия с данными, содержащимися в пакетах.

Network Monitor для Windows 2000 поставляется в двух версиях: упрощенной, которая включена в Windows 2000, и полной, вошедшей в состав отдельного продукта Systems Management Server (SMS) 2.0 и ранее поставлявшейся с Windows NT 4.0. Упрощенная версия может контролировать только локальный трафик. Полная версия программы фиксирует весь трафик в сети и при подключении к другому серверу или рабочей станции, на которых установлен драйвер программы Network Monitor, позволяет контролировать удаленную систему. Драйвер Network Monitor поставляется с Windows 2000 и не требует установки SMS. Полная версия программы Network Monitor, без SMS, устанавливается программой setup.exe в каталоге \nmext на компакт-диске с Microsoft Systems Management Server 2.0.

РУЧНОЙ ЗАХВАТ ТРАФИКА

Запустить программу Network Monitor можно следующим образом. Нажмите Start, затем Programs, потом Administrative Tools, и, наконец, Network Monitor. Запустив программу, необходимо указать сеть, чтобы сделать доступным меню Capture (если на компьютере установлена только одна сетевая карта, меню Capture будет уже активизировано).

Перед началом сбора данных необходимо проверить конфигурацию буфера. Выберите пункт Buffer Settings из меню Capture для вывода диалогового окна Capture Buffer Settings. По умолчанию максимальный фиксированный размер буфера в среде Windows 2000 составляет 1 Гбайт; в среде Windows NT максимальный размер буфера равен величине оперативной памяти установленной на компьютере минус 8 Мбайт.

Для захвата буфера можно задействовать виртуальную память, но это может привести к пропускам некоторых ключевых фреймов информации. Для создания максимально подходящего размера буфера используют Task Manager, где можно определить величину доступной физической памяти, чтобы в ходе дальнейшей работы не превысить этот объем. Для эксперимента я использовал в сетевом анализаторе буфер захвата в 4 Мбайт - это довольно большой объем информации, но в сжатом виде он вполне пригоден для передачи по электронной почте.

Диалог Capture Buffer Settings позволяет также выбрать размер подлежащих захвату фреймов. Это свойство можно использовать для предотвращения захвата чрезмерного количества данных из фрейма и лишней траты памяти. Какое количество фреймов следует захватить, зависит от того, какой конкретно протокол изучается. Например, можно установить размер фрейма в 14 байт для захвата только заголовков Ethernet. Размер фрейма в 14 байт позволяет захватить 73,142 фреймов в одномегабайтном буфере захвата. При захвате заголовков IP используется размер фрейма в 34 байта - 14 байт для заголовка Ethernet плюс 20 байт заголовка IP. Подгонка размера фрейма особенно полезна при изучении проблем с передачей файлов, когда часто создаются фреймы, содержащие по 1200 байтов пользовательских данных, которые быстро заполняют буферы захвата.

Для запуска ручного захвата необходимо выбрать пункт Start из меню Capture. Другой способ - нажать клавишу F10 или щелкнуть на кнопке Record панели управления Network Monitor. Программа Network Monitor немедленно начнет производить захват фреймов, и будет это делать до тех пор, пока захват не будет остановлен или пока буфер не заполнится.

РАБОТА С НАБОРОМ ДАННЫХ

После захвата данных выберите Display Captured Data из меню Capture, и на дисплее отобразиться захваченный набор данных. На Экране 1 показан образец окна с такой информацией. Верхняя панель содержит следующие столбцы, которые можно менять местами, перетаскивая заголовки столбцов с помощью мышки:

  • Frame - номер фрейма, присвоенный программой Network Monitor для отслеживания результатов.
  • Time - текущее время, количество секунд с начала захвата или количество секунд от времени захвата предыдущего фрейма. Для настройки, в каком из этих трех режимов выводить информацию, выберите пункт Options из меню Display. Предпочтительнее использовать режим вывода текущего времени, для удобства согласования захваченной в информации с событиями в журнале регистрации Windows.
  • Src MAC Addr -MAC-адрес устройства-источника, создающего фрейм. Можно выбрать режимы Show Address Names или Show Vendor Names из меню Options вывода имени, присвоенного MAC-адресу в адресной книге Network Monitor или имя производителя, связанное с первыми 6 байтами MAC-адреса, соответственно. (Этот режим воздействует на вывод всех адресов файле захвата). Режим Show Vendor Name может использоваться для поиска неизвестного устройства в сети.
  • Dst MAC Addr -MAC адрес устройства назначения или его имя.
  • Protocol - основной (то есть более высокий) протокол в фрейме.
  • Description - краткая информация о фрейме. Можно без труда из описания опознать трехэтапное установление связи TCP; информация о флагах TCP также отражается в этом столбце. Пунктом Display, Options можно конфигурировать этот столбец на вывод в режимах Last protocol in frame или Auto (Based on protocols in display filter). Если выбрать режим вывода последнего протокола, столбец Protocol будет содержать наивысший протокол во фрейме. Например, для TCP/IP фрейма, который содержит Ethernet, IP и TCP протоколы, в этом режиме в столбце Protocol будет выведен TCP. Если выбрать Auto и сконфигурировать фильтр вывода для показа трафика только на основе протокола IP, в столбце Protocol будет показан IP-протокол для этого же TCP/IP фрейма. В большинстве случаев, много полезной информации можно получить с помощью режима Last protocol in frame.
  • Src Other Addr - другой адрес, который содержится во фрейме. Например, если используется сеть, основанная на IP-протоколе, этот столбец содержит IP-адрес, соответствующий MAC-адресу, приведенному в столбце Src MAC Addr. При просмотре информации в столбце Src Other Addr , возможно, придется передвинуть полосу прокрутки в нижней части панели.
  • Dst Other Addr - другие адреса устройств назначения, содержащиеся во фрейме.
  • Type Other Addr - протокол, на который ссылаются поля Src Other Addr и Dst Other Addr.

    Средняя панель в окне программы Network Monitor является областью деталей. Выводить ее или нет, можно указать с помощью кнопки Toggle Detail Pane на панели Network Monitor. Кнопка Toggle Detail Pane является второй из трех кнопок переключения областей, которые появляются в виде группы над столбцом Src MAC Addr на Экране 1. В этой области программа Network Monitor показывает подробную информацию, полученную после анализа протоколов.

    Для анализа протоколов программа Network Monitor использует .dll и .ini файлы, которые хранятся в каталоге программы синтаксического разбора (по умолчанию это каталог \winnt\system32\netmonfull\ для SMS версии программы Network Monitor и каталог \winnt\system32\netmon\ для упрощенной версии). Как правило, Network Monitor может анализировать 40 протоколов, включая последние типы, такие как Layer 2 Tunneling Protocol (L2TP). Если необходимо проанализировать протоколы, которые программа Network Monitor не распознает (например, ICA) для этого нужно дополнительно написать или приобрести .dll и .ini файлы для программы синтаксического разбора.

    Шестнадцатеричная (нижняя) область в окне программы Network Monitor показывает особую информацию о фрейме в области деталей. Для использования и чтения шестнадцатеричных записей создаются специально изготовленные фильтры захвата. Как это делается, будет описано ниже. Чтобы указать, показывать эту область или нет, необходимо щелкнуть на кнопке Toggle Hex панели инструментов.

    ИСПОЛЬЗОВАНИЕ ФИЛЬТРОВ

    В программе Network Monitor предусмотрены различные типы фильтров, помогающие устранить лишние данные, чтобы можно было захватить или увидеть только необходимую информацию. Если на компьютере установлены разные сетевые карты Ethernet, для работы можно использовать такой сетевой фильтр, который позволит контролировать необходимую сетевую карту. Для подключения сетевого фильтра необходимо выбрать пункт Networks из меню Capture, а затем подключить нужный интерфейс из окна Select a network. Дополнительно можно также подключиться к удаленным компьютерам для мониторинга других сетей.

    Фильтры захвата позволяют сократить анализируемый трафик. Например, чтобы сфокусироваться на сетевых проблемах конкретного компьютера, можно захватывать только пакеты, направляемые на него. Можно захватить и сохранить один набор данных, изменяя фильтр захвата, а затем захватить другой набор и после этого сравнивать два набора данных. Программа позволяет сохранить полученные фильтры захвата и многократно использовать их в дальнейшем.

    Для создания фильтра захвата выберите пункт Filter из меню Capture. Откроется диалоговое окно Capture Filter, показанное на Экране 2. Данные можно фильтровать по протоколу, адресу, структуре данных или по комбинации из этих вариантов.

    Для фильтрации протоколов выберите строку SAP/ETYPE в окне Capture Filter и щелкните на кнопке Edit для перехода в диалоговое окно Capture Filter SAPs and ETYPEs. Service Advertising Protocol (SAP) помогает определить адреса и службы серверов сети. Несмотря на то, что, как правило, SAP используют сетевые протоколы IPX и SPX компании Novell NetWare, режим SAP также может производить фильтрацию IBM NetBIOS, SNA и даже IP-протоколов. Режим Ethernet Type (ETYPE) ориентирован на соответствующее поле в заголовке Ethernet типичного пакета.

    Диалоговое окно <Capture Filter SAPs and ETYPEs> необходимо для выбора типа протокола фильтрации. По умолчанию все протоколы появляются в панели "Enabled Protocols>. Для выбора отдельного протокола необходимо щелкнуть на кнопке Disable All для того, чтобы исключить все протоколы, затем выбрать нужный протокол из панели Disabled Protocols и щелкнуть на кнопке Enable. Для указания отдельного протокола на панелях Disabled Protocols или Enabled Protocols без прокручивания всего списка необходимо кликнуть на заголовке столбца и на первую букву в названии протокола.

    Для создания файла захвата для конкретного компьютера укажите строку Address Pairs в окне Capture Filter и нажмите Edit (или два раза щелкните левой кнопкой мыши на строке с выражением INCLUDE*ANY <-->*ANY), чтобы открыть диалоговое окно Address Pairs. Фильтр Address Pairs позволяет захватывать трафик между выбранными компьютерами в сети и указать направление трафика для мониторинга. Этот фильтр полезен для анализа обмена данными между серверами и рабочими станциями, а также между серверами и принтерами. Упрощенная версия, поставляемая с Windows 2000, позволяет захватывать только локальный трафик. Для других случаев необходимо использовать полную версию программы Network Monitor из SMS.

    Строка Pattern Matches в диалоговом окне Capture Filter позволяет выполнять фильтрацию данных, которые появляются в конкретных позициях во фрейме, базируясь на заданных шестнадцатеричных или ASCII- шаблонах. Фильтры захвата по образцу не вполне надежны, поскольку им необходимы образцы всех типов данных, появляющихся в каждом фрейме, для того чтобы найти и выбрать из них тот, который необходимо захватить. Для поиска этой информации можно проанализировать существующие захваченные данные.

    Например, Frame 177 на Экране 1 - это фрейм транспорта NetBIOS over TCP/IP (NetBT) , на что указывает NBT в столбце Protocol. Этот протокол работает поверх TCP, IP и Ethernet протоколов. Конкретно этот фрейм есть фрейм KeepAlive сессии. Предположим, необходимо создать фильтр захвата, который работает только с NetBIOS фреймами KeepAlive сессии (например, для анализа влияния на сеть трафика NetBIOS от KeepAlive). Необходимо щелкнуть на знаке плюс слева от строки NBT в области деталей, чтобы открыть NBT раздел. Затем в разделе NBT выбираем строку Packet Type. Network Monitor выделяет соответствующую секцию в области шестнадцатеричных данных - в данном случае это шестнадцатеричное число 85 на строке 30 панели данных на Экране 1 - указывающее, что выбранный фрейм является фреймом KeepAlive сессии NetBIOS. В правом нижнем углу экрана программы Network Monitor можно увидеть запись Off 54 (x36). Эта запись указывает, что число х85 имеет смещение 54, или х36, байтов от начала пакета.

    Отыскав образец для частного случая, можно создать фильтр по образцу и протестировать его. Для создания фильтра по образцу выберите строку Pattern Matches в диалоговом окне Capture Filter, щелкните на Pattern. Затем в окне Pattern Match, показанном на Экране 3, введите необходимую величину смещения.

    В поле Pattern можно заметить не только значение 85 из шестнадцатеричной области на Экране 1, но также значение 00, которое следует за величиной 85. Фильтрация по двум или трем последовательным числам из шестнадцатеричной области позволяет более точно контролировать процесс захвата и сократить количество промахов. В поле Offset (in hex) указано смещение 36 в шестнадцатеричной нотации. В дальнейшем можно использовать этот фильтр по образцу в другой сессии для захвата только фреймов NetBIOS KeepAlive.

    Создание фильтра по образцу может занять много времени, зато может помочь обнаружить и решить возникающие проблемы.

    Помимо фильтрации данных перед их сбором, можно применить фильтры к выводимому на экран набору данных. Выберите пункт Filter из меню Display при просмотре набора захваченных данных. Диалоговое окно Display Filter похоже на Capture Filter; здесь можно проводить фильтрацию по протоколу и сетевому обмену.

    НАСТРОЙКА РЕЖИМ ВЫВОДА

    В программе Network Monitor реализованы некоторые настройки, которые помогают использовать время просмотра файлов захвата более эффективно. Из меню Display можно выбрать пункт Font для изменения размера текста на экране. Для внесения важных функциональных изменений выберите пункт Colors для доступа в диалоговое окно Protocol Colors и установите различный цвет шрифта для отдельных протоколов. Использование различного цвета шрифта позволяет эффективнее отслеживать конкретные события при захвате больших объемов данных. Для установки цветных шрифтов в отдельных протоколах выберите протокол из списка в диалоговом окне Protocol Colors, а затем цвет из ниспадающего меню Foreground.

    Функция Duplicate, которая выбирается из меню Window, копирует захваченные данные в другое окно и позволяет работать с обеими копиями одновременно. Можно использовать разные фильтры вывода на экран для каждой копии и сравнивать два вида одних и тех же захваченных данных. Остерегайтесь путаницы, которая может возникнуть в результате работы с двумя копиями, имеющими похожие имена. Чтобы исключить подобную ситуацию, необходимо выбрать пункт Label из меню Window и добавить метку к каждому виду. Работая с дубликатами, можно закрыть одно окно, не затрагивая другого. Выберите пункт Save Configuration из меню Display для сохранения настроек.

    Пункт Insert Comment Frame, который выбирается из меню Tools, позволяет добавлять текст в захваченный файл, что помогает позже интерпретировать данные или использовать их для последующего обучения. В диалоговом окне Insert Comment Frame установите Frame Number, выбрав пункт Comment из Type of Frame to Insert, и напечатайте примечания для нового фрейма. Столбец Description выводит введенное примечание, как показано на Экране 4.

    Также можно вставить фреймы-закладки, помечая отдельные места в захваченном файле и легко возвращаясь к ним позже. Столбец Protocol нового фрейма показывает, является фрейм примечанием или закладкой. Comment и Bookmark выбирают из столбца протоколов при создании фильтра вывода. Фильтрация по фреймам примечаний или закладок, а также распечатка результатов может быть полезна при работе с хорошо документированным файлом захвата.

    Если вставить два фрейма примечаний и очистить позицию для отметки No Statistics в диалоговом окне Insert Comment Frame, программа Network Monitor будет подсчитывать статистические данные между двумя фреймами примечаний. Статистические данные программы Network Monitor включают информацию о количестве фреймов в различных частях трафика, времени между фреймами и занимаемой фреймами средней полосе пропускания.

    КОНФИГУРАЦИЯ ТРИГГЕРОВ

    Триггер исследует фреймы, собранные программой Network Monitor и определяет их соответствие определенным условиям. Когда фрейм соответствует определенным условиям, триггер посылает системе предупредительный сигнал, останавливает захват или исполняет командную строку. Можно конфигурировать триггер таким образом, чтобы он начинал действовать, когда буфер становится частично или полностью заполненным, при соответствии фрейма образцу или при комбинации этих двух условий.

    Простой и полезный триггер позволяет программе Network Monitor сохранить захваченный файл и прекратить работу, когда буфер заполнится в течение сеанса мониторинга. Для создания такого триггера выберите пункт Trigger из меню Capture. В диалоговом окне Capture Trigger, которое показано на Экране 5, выберите Buffer space из раздела Trigger on. Выберите вариант 100% из секции Buffer Space и режим Stop Capture из секции Trigger Action.

    Добавьте еще один шаг, написав пакетный файл, который посылает сообщение о прекращении захвата. Этот пакетный файл может быть простым, например:


    net send administrator  The capture is complete.

    Можно написать эту команду в редакторе Notepad и переименовать полученный .txt файл в файл с расширением .bat. Затем в диалоговом окне Capture Trigger следует выставить флажок Execute Command Line в секции Trigger Action и указать расположение файла.

    Можно использовать образцы смещений в триггерах для определения различных событий с помощью программы Network Monitor. Для каждого события Network Monitor может выполнять действия, которые выполняются с помощью командной строки - включая запуск других копий программы Network Monitor на других компьютерах. На Экране 5 изображена настройка триггера, исполняющего пакетный файл, названный keepaliveSpotted.bat, который выдает соответствующее предупреждение о том, что программа Network Monitor обнаружила фрейм KeepAlive.

    АВТОМАТИЧЕСКИЙ ЗАПУСК NETWORK MONITOR

    Можно использовать команду Netmon для запуска программы Network Monitor из пакетного файла или использовать Task Scheduler из Windows 2000 или команду At для захвата по расписанию. Для управления программой можно добавить в команду Netmon переключатели в командной строке в Task Scheduler Windows 2000 или указать переключатели в пакетном файле, используя планировщик At. Ниже перечислены доступные переключатели:

  • /autostart - предписывает программе Network Monitor начать захват данных немедленно.
  • /remote: computer - имя удаленного компьютера, к которому подсоединяется Network Monitor. На этом компьютере должен быть установлен агент удаленного доступа.
  • /net: number - предписывает Network Monitor работать с конкретным сетевым интерфейсом. Чтобы найти номер сетевого интерфейса, необходимо выбрать пункт Networks из меню Capture. Номер интерфейса - это не MAC-адрес, а обычный порядковый номер нужного интерфейса. Например, команда:


    netmon  /net:2

    использует в программе Network Monitor второй сетевой интерфейс из списка в диалоговом окне Networks. Если на компьютере установлен модем, то Network Monitor определит его как еще один сетевой интерфейс.

  • /capturefilter path - специфический фильтр захвата для использования в программе Network Monitor. Path - это путь к фильтру захвата.
  • /displayfilter path - особый фильтр вывода для программы Network Monitor, загружаемый при запуске.
  • /buffersize: number - показывает размер буфера в мегабайтах.
  • /quickfilter type, address - приказывает программе Network Monitor начать захват данных немедленно и фильтровать заданный адрес.
  • /autostop - вызывает прекращение захвата данных Network Monitor при заполнении буфера.

    Например, команда


    netmon /autostart /buffersize:5 /autostop

    запускает программу захвата данных Network Monitor с установленным размером буфера в 5 Мбайт и останавливает ее, когда буфер заполнен.

    В рамках одной статьи я не могу рассказать обо всех возможностях программы Network Monitor. Можно затратить довольно много времени на изучение всех ее достоинств. Но лучше начните с общего знакомства со свойствами Network Monitor. Используйте эту программу всякий раз, когда сталкиваетесь с проблемой, источник которой не можете установить.

    Рекомендуется включить программу Network Monitor в рутинную процедуру текущего обслуживания. Это очень поможет в дальнейшей работе.


    Эд Вилсон - Старший специалист по сетям компании Full Service Networking в Цинцинатти. У него 12 сертификатов. Автор "An Administrators Guide to Windows 2000 TCP/IP Networks" (Prentice Hall). С ним можно связаться по адресу: edw@fullservice.net.