Microsoft network programming windows

Network Programming Interface

A Network Programming Interface, or NPI, defines the interface between network modules that can be attached to one another. A client module that is registered as a client of a particular NPI can only be attached to provider modules that are registered as providers of the same NPI. Likewise, a provider module that is registered as a provider of a particular NPI can only be attached to client modules that are registered as clients of the same NPI.

Each NPI defines the following items:

An NPI identifier that uniquely identifies the NPI. A network module specifies an NPI identifier to indicate the particular NPI that it supports when the network module registers itself with the Network Module Registrar (NMR). A network module can support multiple NPIs by registering itself with the NMR multiple times, once for each NPI that it supports. The NMR will initiate attaching a client module to a provider module only if they both support the same NPI.

An optional client characteristics structure that specifies the NPI-specific characteristics of each client module. Such NPI-specific characteristics might include items such as which version (or versions) of the NPI that a client module supports, or which address family or protocol a client module requires. A provider module can use the information contained in a client module’s client characteristics structure to determine if it will attach to the client module. If an NPI does not define any NPI-specific client characteristics, then this structure is not required.

An optional provider characteristics structure that specifies the NPI-specific characteristics of each provider module. Such NPI-specific characteristics might include items such as which version (or versions) of the NPI that a provider module supports, or which address families or protocols a provider module supports. A client module can use the information contained in a provider module’s client characteristics structure to determine if it will attach to the provider module. If an NPI does not define any NPI-specific provider characteristics, then this structure is not required.

Zero or more client module callback functions. After a provider module successfully attaches to a client module, the provider module can access the client module’s functionality by calling the client module’s callback functions.

One or more provider module functions. After a client module successfully attaches to a provider module, the client module can access the provider module’s functionality by calling the provider module’s functions.

A client dispatch table structure that contains function pointers to each of the client module callback functions. If an NPI does not define any client module callback functions, then this structure is not required.

A provider dispatch table structure that contains function pointers to each of the provider module functions.

A client module that supports a particular NPI uses the items defined by the NPI to implement the client side of the interface. Similarly, a provider module that supports a particular NPI uses the items defined by the NPI to implement the provider side of the interface.

All of the items defined by an NPI are opaque to the NMR except for the NPI identifier. The NMR uses the NPI identifier to determine which client modules should be attached to which provider modules.

Программирование в сетях Microsoft Windows

Скачать книгу (полная версия)

О книге «Программирование в сетях Microsoft Windows»

Книга знакомит читателя с многообразием сетевых функций ОС семей- ства Windows. Обсуждается разработка сетевых приложений на платформе Win32 с использованием интерфейсов программирования NetBIOS и Winsock, а также распространенных протоколов. На конкретных примерах рассмот- рены клиент-серверная модель; установка соединения и передача данных; регистрация и разрешение имен, в том числе применительно к Windows 2000 и Active Directory; широковещание в сети; ATM; QoS и удаленный доступ. В приложениях содержится справочник команд NetBIOS (с указанием вход- ных и выходных параметров), сведения о новых функциях IP Helper, а так- же справочник кодов ошибок Winsock. Адресована как профессиональным программистам, так и новичкам, для которых станет удобным справочником и исчерпывающим пособием по использованию сетевых функций Windows Состоит из 15 глав, трех приложений и предметного указателя; прилагаемый компакт-диск содержит примеры программ.

Произведение было опубликовано в 2002 году издательством Русская Редакция. На нашем сайте можно скачать бесплатно книгу «Программирование в сетях Microsoft Windows» в формате pdf или читать онлайн. Здесь так же можно перед прочтением обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. В интернет-магазине нашего партнера вы можете купить и прочитать книгу в бумажном варианте.

Windows Sockets 2

Purpose

Windows Sockets 2 (Winsock) enables programmers to create advanced Internet, intranet, and other network-capable applications to transmit application data across the wire, independent of the network protocol being used. With Winsock, programmers are provided access to advanced MicrosoftВ® WindowsВ® networking capabilities such as multicast and Quality of Service (QoS).

Winsock follows the Windows Open System Architecture (WOSA) model; it defines a standard service provider interface (SPI) between the application programming interface (API), with its exported functions and the protocol stacks. It uses the sockets paradigm that was first popularized by Berkeley Software Distribution (BSD) UNIX. It was later adapted for Windows in Windows Sockets 1.1, with which Windows Sockets 2 applications are backward compatible. Winsock programming previously centered around TCP/IP. Some programming practices that worked with TCP/IP do not work with every protocol. As a result, the Windows Sockets 2 API adds functions where necessary to handle several protocols.

Developer audience

Windows Sockets 2 is designed for use by C/C++ programmers. Familiarity with Windows networking is required.

Run-time requirements

Windows Sockets 2 can be used on all Windows platforms. Where certain implementations or capabilities of Windows Sockets 2 platform restrictions do exist, they are clearly noted in the documentation.

Погружение в Network Monitor

Просмотр пакетов и взаимосвязей сетевого трафика с помощью сетевого анализатора Microsoft

Инструмент Network Monitor, реализованный в Windows и Microsoft Systems Management Server (SMS), позволяет выполнять мониторинг сетевого трафика. Мониторинг можно проводить в реальном времени или, перехватив и сохранив сетевой трафик, анализировать его позднее. Сохраненные данные могут использоваться для устранения неполадок в локальных и распределенных сетях, а также практически во всех устройствах, которые задействуют для коммуникаций протокол TCP/IP. Network Monitor имеет три основные области применения.

  • Поиск неисправностей в сетевых соединениях. Это основная область применения Network Monitor. Если у вас есть два компьютера, при взаимодействии которых возникают трудности, можно воспользоваться функцией Network Trace для выяснения причины проблемы. Network Monitor также используется для просмотра пакетов TCP/IP, которые пересылаются между двумя устройствами, и данных, содержащихся в каждом из них.
  • Оценка сетевой производительности. Network Monitor дает ясную и полную картину работы сети. Если возникает подозрение, что с точки зрения сетевой производительности имеются уязвимые места, можно воспользоваться информацией Network Monitor — например, статистикой о сетевой нагрузке и данными об источниках сетевого трафика — для поиска таких слабых мест. Хотя обычно Network Monitor не используется как базовое средство для выявления проблем в сетевых коммуникациях, это превосходный вспомогательный инструмент, позволяющий отыскать причину неисправности и показать гораздо более детальную картину происходящего, чем это позволяет сделать Performance Monitor.
  • Поиск устройства, инициировавшего выдачу «маяка». Так называемый beaconing — процесс выдачи компьютерам в сети кольцевой топологии сигнала о том, что передача маркера прервана из-за серьезной ошибки. До появления коммутируемых сетей с помощью Network Monitor отслеживались проблемы в работе аппаратных сетевых устройств. Сейчас Network Monitor по-прежнему можно использовать для поиска фрагментированных или разрушенных пакетов, генерируемых несправным оборудованием, однако для этого следует установить полную версию Network Monitor, которая поддерживает работу удаленных агентов и перехватывает сетевые пакеты в сегменте даже в том случае, когда трафик не предназначен для станции, на которой запущен Network Monitor. Подробнее о двух версиях Network Monitor рассказано во врезке «Версии Network Monitor». При наличии управляемого коммутатора с помощью комбинации статистик и Network Monitor можно получить исчерпывающую информацию о неисправности для диагностики сетевого оборудования.
Читайте также:  Второй монитор настройка windows 10

Установка Network Monitor

Для того чтобы воспользоваться монитором на сервере, на котором установлен Network Monitor или SMS, необходима сетевая карта, которая поддерживает смешанный режим (так называемый promiscuous mode — состояние, в котором сетевой адаптер обнаруживает в сети все фреймы вне зависимости от их конечного адреса; данный режим поддерживает большинство сетевых адаптеров). При установке Windows Server 2003 и Windows 2000 Server Network Monitor устанавливается только в том случае, если вы явно это указали. Чтобы установить Network Monitor, входящий в состав Windows 2003 и Windows 2000 Server, нужно выполнить следующие действия.

  1. Открыть Control Panel (Start, Settings, Control Panel).
  2. Дважды щелкнуть Add or Remove Programs.
  3. Щелкнуть Add/Remove Windows Components.
  4. Щелкнуть Management and Monitoring Tools, затем Details.
  5. Установить флажок Network Monitor Tools и щелкнуть ОК.

Запуск Network Monitor

Как только Network Monitor установлен, его можно запускать. Следует щелкнуть Start, Programs, Administrative Tools, Network Monitor. Можно также запустить Network Monitor с командной строки или использовать командный файл. На экране появится начальный экран Network Monitor. Чтобы инициировать захват пакетов, щелкните кнопку Capture. Начнется перехват сетевых пакетов, и окно Network Monitor будет выглядеть примерно так, как показано на экране 1. Как мы видим, основное окно Network Monitor состоит из четырех областей, в которых отображается информация различного типа.

Гистограммы использования сети. Первая область (отмечена цифрой 1 красного цвета) содержит гистограммы, отображающие статистические данные о трафике сервера. Первая полоса — % Network Utilization — самая важная. Если сервер принадлежит сегменту, к которому подключены другие компьютеры, и значение сетевой нагрузки значительно превышает 35%, возможно, сеть станет для данного сервера узким местом. Ethernet использует протокол Carrier Sensing Multiple Access with Collision (CSMA/CD) с обнаружением коллизий. В некоммутируемом Ethernet при сетевой нагрузке свыше 35% число коллизий слишком велико, и это катастрофически снижает производительность. Если придется столкнуться с высокой сетевой загрузкой, следует рассмотреть возможность использования коммутируемого Ethernet для повышения производительности.

Если сервер подключен к выделенному порту коммутатора, сетевая утилизация может быть гораздо выше 35%, при этом задержек по сети не наблюдается. Но если утилизация сети достигает 80%, стоит рассмотреть вопрос об использовании адаптера с двумя портами или перейти на Gigabit Ethernet или 10 Gigabit Ethernet. Если доля широковещательных или групповых пакетов или того и другого слишком велика (более 50% в секунду), вероятно, в сети имеется неисправный сетевой адаптер, выставляющий «маяки», или же просто слишком многие компьютеры выдают широковещательные запросы. Неплохо было бы собирать статистику о сетевом трафике до того, как проблема возникла, тогда в случае инцидента у администратора уже была бы история наблюдений и базовые показатели, относительно которых можно проводить исследование текущего сетевого трафика.

Экран 1. Основное окно Network Monitor

Сетевые соединения. Вторая область (цифра 2 в голубой рамке) отображает список устройств, с которыми связывается данный сервер. Имена в колонке Network Address 1 являются или именами сетевых карт типа Network Monitor supported, используемых в сети, или MAC-адресами (Media Access Control, MAC), если сетевые адаптеры не поддерживают функцию мониторинга. Чтобы вывести список адаптеров в сети, требуется выбрать Options, Show Vendor Names. В колонке 1->2 показано число пакетов, переданных устройству в колонке Network Address 2, а в колонке 1 Экран 2. Результаты захвата пакетов

Двойной щелчок по фрейму позволяет просмотреть подробную информацию о выбранном пакете (см. экран 3). В верхней зоне окна показаны итоговые данные о захваченных пакетах. В средней зоне размещена подробная информация о пакете, выбранном в верхней зоне. В нижней зоне представлены необработанные данные пакета в шестнадцатеричном виде. При щелчке мышью в области подробной информации (средняя зона) в нижней зоне синхронно отображается соответствующая часть пакета. В средней зоне за значком плюс (+) скрывается дополнительная информация. Средняя зона включает следующие данные.

  • Базовые свойства фрейма — общие сведения о пакете, которые собраны Network Monitor, но не представлены в самом захваченном пакете. Это время, когда пакет был захвачен, временной интервал с момента захвата предыдущего фрейма, номер фрейма и его длина.
  • Заголовок фрейма — содержит MAC-адреса пакетов источника и приемника, данные маршрутизации и число байтов в оставшейся части пакета.
  • Заголовок IP — содержит данные об используемой версии IP (обычно это IP version 4 — IPv4), длину заголовка, тип службы, длину пакета, заданное время жизни пересылаемого пакета TTL (Time To Live, TTL; число пересылок маршрутизаторами данного пакета, прежде чем он будет разрушен), а также IP-адреса источника и приемника.
  • Заголовок TCP/UDP/Internet Control Message Protocol (ICMP) — содержит данные о портах источника и приемника, порядковый номер, номер уведомления, смещение данных, флаг TCP, окно, контрольную сумму и число байтов в оставшейся части пакета. Информация в данной секции от протокола к протоколу сильно различается.
  • Секция данных — содержит собственно данные. Если в пакете находятся данные высокоуровневого протокола, такого как DNS или HTTP, Network Monitor выводит дополнительную информацию в секции данных пакета.

Настройка фильтров просмотра

После того как пакеты захвачены, можно вывести на экран только те из них, которые соответствуют определенным критериям. Для этого можно воспользоваться фильтром просмотра Network Monitor. Требуется выбрать меню Display, Filter и установить все необходимые условия. Фильтрацию можно производить по адресам, протоколу или свойствам протокола. Например, чтобы установить фильтр, который бы показал только недокументированный заголовок пакетов HTTP, нужно выполнить следующие действия.

  1. Выбрать Display, Filter.
  2. Щелкнуть Expression.
  3. Перейти на вкладку Property. В окне Protocol:Property следует отыскать и выбрать http.
  4. Щелкнуть Undocumented Header.
  5. В окне Relation выбрать exists и дважды щелкнуть ОК.
Читайте также:  Как найти точку отката windows

Основы сессии TCP/IP

Облегченная версия Network Monitor позволяет захватывать широковещательные пакеты и входящий и исходящий трафик той станции, на которой установлен Network Monitor. Данные Network Monitor очень напоминают содержимое журнала брандмауэра, только они гораздо детальнее. Поначалу поток данных с перехваченными пакетами может показаться устрашающим из-за своего объема. Чтобы смягчить первоначальный шок, стоит заранее узнать, куда смотреть и что искать при интерпретации данных перехвата. Но прежде чем изучать, как следует читать данные пакета, познакомимся с основами сессии TCP/IP. На самом базовом уровне сессия TCP/IP включает следующие компоненты.

  1. Установка сессии (трехсторонний процесс квитирования). Сессия TCP/IP начинается с процесса квитирования (handshake). Компьютер-источник, запрашивающий открытие сессии, посылает синхронизирующий (SYN) пакет на компьютер-приемник. Компьютер-приемник отвечает пакетом уведомления (ACK) и устанавливает размер окна данных (data window size). После этого компьютер-источник посылает свой ACK-пакет на компьютер-приемник для подтверждения размера окна данных.
  2. Передача данных. Во время сессии данные передаются между двумя компьютерами, причем компьютер-получатель посылает ACK-пакет почти каждый раз при получении данных от отправителя. В нормальных условиях пересылаются пакеты ACK или PSH. Во время сессии передачи данных число пакетов, которые отсылаются без требования подтверждения (ACK-пакеты), может меняться в зависимости от объема сетевого трафика и размера буфера на компьютере-приемнике. Эта ситуация известна как раздвижное или скользящее окно (sliding window), так как объем передаваемых данных может «раздвигаться», пока не потребуется ACK-пакет.
  3. Закрытие сессии (модифицированный трехсторонний процесс квитирования). Если имеет место штатное закрытие сессии, то отправитель (т. е. компьютер, инициирующий закрытие сессии), посылает финишный пакет (FIN), означающий, что передача данных завершена полностью. Получатель посылает ACK отправителю, уведомляя его о получении FIN-пакета, а затем ему же посылает FIN-пакет. После этого отправитель посылает ACK-пакет получателю. Закрытие сессии может быть и нештатным. В этом случае отправитель передает пакет получателю, но последний не подтверждает его получение. Тогда отправитель пытается повторно отправить тот же пакет получателю и делает это до тех пор, пока не будет достигнут максимум числа повторных попыток, и тогда сессия завершается аварийно.

Чтение пакетов

Как известно, прежде чем сетевой трафик попадает в сеть, он разбивается на пакеты. Большинство пакетов в сети обычно приходится на TCP; однако могут встречаться и другие типы пакетов, например DNS, ICMP, NetBIOS over TCPIP (NBT) и UDP. Каждый пакет имеет специальный TCP-флаг в секции заголовка пакета и другие флаги, которые перечислены ниже в том порядке, в каком они появляются в заголовке.

  • U (URG) — срочность; данные передаются вне очереди.
  • A (ACK) — уведомление об успешном приеме данных; сообщает о том, что отправитель знает о получении пакета. Получатель пакета посылает ACK-пакет, в который включен порядковый номер отправителя плюс длина пакета данных, чтобы проконтролировать, что информация пакета была принята правильно.
  • P (PSH) — принудительная доставка данных до того, как буфер будет заполнен. Этот флаг обычно используется для интерактивного трафика.
  • *R (RST) — сброс; аварийное завершение сессии. Присутствие большого числа пакетов с флагом RST говорит о проблемах в сети.
  • S (SYN) — применяется для открытия сессии и получения начального номера последовательности. Часто используется для атак типа «отказ в обслуживании» (Denial of Service, DoS). Хакеры могут попытаться инициировать большое число сессий с неверного IP-адреса, вынудив сервер отвечать пакетами ACK на несуществующий адрес IP. В большинстве брандмауэров предусмотрены меры по защите от DoS-атак.
  • F (FIN) — штатное завершение сессии TCP. Пакет FIN означает, что отправитель закончил передачу данных.

Наблюдение за флагами. Большинство сетей имеют трафик, состоящий в основном из ACK- и PSH-пакетов. Если сервер не генерирует постоянно новых сессий, то пакетов SYN должно быть относительно немного. Серверы с огромным числом SYN-пакетов, вероятно, подверглись одной из разновидностей DoS-атаки (иначе называемой SYN flood). Число FIN-пакетов и SYN-пакетов должно быть примерно одинаковым. RST бывает немного. Большое число пакетов RST может быть симптомом неустойчивых сетевых соединений, неисправных адаптеров, высокого сетевого трафика, сбоев в работе коммутаторов или хабов либо сбоев в работе иного сетевого оборудования.

Экран 3. Детальная информация из фрейма

Номера портов. Как мы знаем, пакеты TCP/IP идентифицируют порт источника и приемника пакета. При чтении информации о пакете нужно вести журнал принимающих и передающих портов сервера. Следует также хорошо разбираться в номерах общепринятых портов и портов, используемых в Windows. Если в перехваченном трафике обнаружится неизвестный порт, это может быть признаком активности хакеров. В табл. 2 приведен список наиболее часто используемых портов.

После запуска процесса перехвата пакетов можно воспользоваться дисплейным фильтром для отображения пакетов какого-то специфического протокола. Например, если локализовать проблемы в HTTP-соединениях, перехватить с помощью Network Monitor трафик обмена, а затем отфильтровать пакеты HTTP (порт 80) для локализации проблем связи в данном конкретном протоколе.

Повторные передачи пакетов. Network Monitor может использоваться для решения проблем на уровне взаимодействия компьютеров. Обратите внимание на пакеты повторной передачи (т. е. пакеты с флагом R в заголовке пакета), которые имеют более продолжительные тайм-ауты и статические порядковые номера на множестве пакетов. Ретрансмиссии возникают в том случае, когда обмен данными между двумя компьютерами был по какой-либо причине прерван — например, из-за неисправного оборудования или задержек WAN. При появлении ретрансмиссии тайм-аут увеличивается вдвое, пока число повторных попыток не достигнет 5 (по умолчанию). На экране 4 показан перехваченный трафик в ситуации, когда во время передачи файла по FTP от компьютера-клиента отсоединили сетевой кабель. Номера фреймов с 834 по 992 (левая колонка в верхней части) имеют одинаковые порядковые номера для всех пакетов, что указывает на неполадки в соединении. Во фреймах с 1172 по 1385 снова встречается тот же самый порядковый номер. При нормальном FTP-трафике порядковый номер в каждом пакете должен возрастать, а не оставаться прежним. Обратите внимание, что потребовалось в общей сложности 10 пакетов для аварийного завершения передачи по FTP — пять повторных попыток передать данные и еще пять повторных попыток закрыть соединение. Заметьте метку времени 77.012668 в 834-м фрейме. Временной интервал между 834-м и 845-м фреймами (77,668893-77,012668) составляет 0,656225. Между 845-м и 868-м фреймами — 1,312449, что вдвое больше 0,656225. Для каждого следующего пакета время удваивается, пока не будет достигнут максимум числа повторных попыток (в данном случае пять).

При использовании медленного соединения с WAN или линии с большим разбросом скорости соединения максимальное число попыток, возможно, потребуется увеличить. Для этого на сервере, где запускается Network Monitor, нужно найти раздел реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesTcpipParameters и добавить параметр (тип DWORD) TcpMaxDataRetransmissions. Установите значение decimal и укажите число больше 5.

Наблюдение за пакетом может подсказать оптимальное значение этого параметра для конкретной среды работы. Например, в случае проблемы ретрансмиссий следует увеличить TcpMaxDataRetransmissions до заведомо большего значения, например 20, и посмотреть, сколько соединений восстанавливают передачу данных. Если окажется, что большинство сессий FTP удовлетворяется, скажем, восемью ретрансмиссиями, требуется переустановить TcpMaxDataRetransmissions на сервере в значение 9. Это несколько затормозит работу сервера, если сеть WAN перестала работать, но соединение с клиентом по-прежнему будет активным.

Читайте также:  Windows 10 onedrive сбросить
Экран 4. Увеличение значений тайм-аутов при трассировке пакетов

Изначально величина тайм-аута для любой сессии равна 3 секундам, а затем она настраивается в зависимости от скорости соединения. Мы рассматривали пример с LAN, поэтому самая первая повторная попытка соединения была предпринята через очень короткий промежуток времени — 0,65 с. Для медленного WAN-соединения увеличение максимума ретрансмиссий может привести к продолжительной задержке в работе сервера, прежде чем соединение будет оборвано по тайм-ауту. Если используется медленный канал связи и начальное значение тайм-аута равно пяти секундам, сколько времени соединение будет «висеть» при максимальной ретрансмиссии 6? Ответ — 315 секунд, или дольше 5 минут (5+10+20+40+80+160).

Network Monitor как средство противодействия AUTH Attack

Одним из примеров практического применения Network Monitor может служить анализ входящего и исходящего трафика, если возникло подозрение, что сервер подвергается атаке извне. Возможно, многим приходилось сталкиваться с таким типом атаки, когда спамеры бомбардируют сервер Exchange командами SMTP AUTH до тех пор, пока не удается успешно зарегистрироваться на сервере. По умолчанию Microsoft Exchange Server 2003 и Microsoft Exchange 2000 Server позволяют почтовому серверу ретранслировать сообщения, если отправитель смог выполнить аутентификацию, указав правильное имя и пароль. Получить правильное имя и пароль спамер может при помощи атаки на почтовый сервер перебором имен и паролей или используя некоторые специфические типы атак на сеть. Вы можете включить журнал Exchange Diagnostics Logging и установить максимальное значение для параметра MSExchangeTransport Categories, который показывает User ID, используемый для аутентификации на сервере. Однако оснастка Microsoft Management Console (MMC) Event Viewer обычно не отображает IP-адрес спамера. Этот адрес можно получить, отследив трассу пакета.

  1. Установите Network Monitor на сервер Exchange и начните собирать пакеты. Конечно, для получения искомого IP-адреса нужно дождаться, пока спамер не выполнит аутентификацию на сервере. Может потребоваться увеличить размер буфера, чтобы не потерять пакеты. После аутентификации спамера на сервере перехват пакетов следует остановить.
  2. Установите фильтр TCPDestination Port 25 (см. экран 5). Для этого выберите Display, Filter и строчку Protocol==Any в окне Display Filter. Щелкните кнопку Edit Expression, затем перейдите на вкладку Property. Дважды щелкните +TCP, затем выберите Destination Port. Щелкните == в окне Relation, выберите Decimal (ниже окна Value), введите значение 25 (SMTP) и щелкните ОК
  3. Найдите команду Auth Login. Проверяйте данные в каждом SMTP-пакете, пока не отыщите пакет, который содержит Auth Login. В верхней части окна в колонке Src Other Addr покажет IP-адрес спамера. Хотя IP-адрес может быть ложным, вы по крайней мере сможете заблокировать трафик через 25-й порт от этого адреса для предотвращения подобной ситуации в будущем. Еще лучше отключить Basic and Integrated Windows Authentication на любом внешнем сервере Exchange, чтобы не позволить пользователям выполнять аутентификацию на почтовом сервере при отправке почты.
  4. Найдите имя пользователя: следующая командная строка в поле данных TCP должна содержать имя и пароль, которые вводились для аутентификации. Однако эти данные зашифрованы кодером Base64, так что нужно воспользоваться декодером Base64 для расшифровки. В Internet есть множество кодер/декодеров Base64. Следует попрактиковаться на декодере Dillfrog и расшифровать с его помощью имя c3BhbW1lcg== и пароль cmVsYXk=. Декодированные ответы приведены в конце статьи. Конечно, как уже отмечалось ранее, можно повысить и уровень собираемой сервером Exchange диагностики для просмотра User ID, который использовался для аутентификации на сервере.

Оружие для решения сетевых проблем

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

Экран 5. Установка фильтра просмотра трафика SMTP

Ответы к примеру декодирования:
c3BhbW1lcg== spammer
cmVsYXk= relay

Ресурсы

How to Automate Network Captures with Network Monitor
http://support.microsoft.com/?kbid=158744

Версии Network Monitor

Существует две версии Network Monitor: полная версия, которая поставляется вместе с Microsoft Systems Management Server (SMS), и облегченная версия, поставляемая вместе с Windows Server 2003, Windows 2000 Server и Windows NT Server 4.0. Облегченная версия содержит некоторое подмножество команд полной версии. В данной статье основное внимание будет уделено облегченной версии Network Monitor, поскольку большинство пользователей работает именно с ней. Версии Network Monitor имеют несколько отличий.

  • Захват трафика. Наиболее существенные различия между версиями заключаются в типе сетевого трафика, который может быть перехвачен. Облегченная версия позволяет перехватить только широковещательный трафик и трафик, посылаемый или принимаемый со станции, на которой установлен Network Monitor. Полная версия может перехватывать весь трафик сегмента вне зависимости от источника или приемника передаваемых пакетов. Для коммутируемых сетей большинство серверов (и некоторая часть рабочих станций) подключены к выделенным коммутируемым портам. Это приводит к тому, что перехватить трафик из других сегментов становится сложнее, поскольку коммутаторы нередко изолируют сетевой трафик уровня 2 и 3 в тех сегментах, где два устройства обмениваются пакетами. Полная версия Network Monitor позволяет перехватить данные с удаленных агентов, установленных в разных сетевых сегментах. Это особенно удобно при поиске неисправностей в удаленном сегменте.
  • Experts. Этот инструмент доступен только в полной версии. Он дает подробные разъяснения относительно перехваченного трафика и дешифрует пакеты.
  • Find Routers. Это команда меню Tools, она доступна только в полной версии. С ее помощью можно идентифицировать IP-адреса сетевых маршрутизаторов.
  • Resolve Addresses from Name. Это команда меню Tools, она доступна только в полной версии. Данная команда позволяет разрешить адреса по имени Fully Qualified Domain Name (FQDN).

Если необходимо выполнить мониторинг удаленных сегментов или нужна функциональность, отсутствующая в облегченной версии, стоит рассмотреть возможность приобретения SMS и получения полной версии Network Monitor. Или же можно рекомендовать приобрести сетевой монитор независимого поставщика программного обеспечения с поддержкой мониторинга удаленных сегментов. До того как коммутируемые сети стали популярными, было гораздо проще перехватывать сетевые данные, поскольку один и тот же сетевой сегмент использовался большим числом компьютеров. До появления коммутируемых сетей я использовал Network Monitor в основном для поиска «маяков» или неисправных сетевых карт, которые нарушали работу сети. Сегодня управляемые коммутаторы умеют выполнять эту функцию самостоятельно. Если используется управляемый коммутатор и есть подозрение на некорректную работу NIC или иного устройства, следует проверить статистику коммутатора и обратить внимание на порты, для которых выявлено большое число пакетов и/или ошибок. После того как идентифицирован потенциально неисправный порт, нужно запустить Network Monitor и перехватить сетевой трафик порта. Также можно по-прежнему использовать Network Monitor как традиционное средство перехвата пакетов для идентификации проблем соединения, контроля утилизации сети и мониторинга серверного сетевого трафика.

Алан Сугано (asugano@adscon.com ) — президент компании ADS Consulting Group, специализирующейся на сетевых технологиях, программировании, проектировании на базе Microsoft .NET и SQL Server.

Поделитесь материалом с коллегами и друзьями

Оцените статью