Использование Network Monitor для захвата и анализа сетевого трафика в Windows

Microsoft Network Monitor это классический инструмент сетевой диагностики для Windows, которой позволяет выполнить захват и анализ входящего и исходящего трафика на компьютере. Несмотря на то, что это продукт не развивается и не обновляется уже более 3 лет, его часто используют администраторы, когда нужно выполнить диагностику сетевых подключений. NetMon предоставляет на порядок меньше возможностей и не так хорош в расширенном разборе пакетов, по сравнению с популярным инструментом захвата и анализа WireShark. Однако графический интерфейс Network Monitor гораздо проще и интуитивное, да и сам продукт легче. Поэтому в некоторых сценариях его использование вполне оправдано и удобно.

В этой статье мы рассмотрим, как использовать Network Monitor для захвата и анализа сетевого трафика в реальном времени и для снятия дампа трафика для последующего анализа.

Идею этой статьи подкинул один из участников нашего чата , который получил от провайдера предупреждение о том, что его Windows VPS сервер используется для рассылки писем. Рассылка производилась в разное время, поэтому отследить процесс, выполняющий инициацию SMTP сессий, в реальном времени не удалось. Для поиска источника проблемы нужно настроить захват всего исходящего трафика по стандартным SMTP портам 25, 587 и 465, и определить исполняемый файл или скрипт, который выполняет рассылки.

Установить Microsoft Network Monitor 3.4 (последняя в прямо смысле версия) можно, скачав установщик (NM34_x64.exe) с сайта Microsoft ( https://www.microsoft.com/en-us/download/details.aspx?id=4865 ), или установить пакет с помощью пакетного менеджера winget :

winget install Microsoft.NetMon

После установки, запустите Network Monitor с правами администратора.

В окне NetMon нажмите New Capture .

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

Нажмите кнопку Capture Settings . В этом окне можно настроить фильтры, которые определяют какой трафик должен собирать NetMon. В разделе Load Filter -> Standard Filters есть несколько шаблонов фильтров для типовых задач. В нашем случае нам нужен фильтр по TCP портам. Выберите TCP -> TCP ports .

В окно редактора фильтра будет вставлен следующий код шаблона:

tcp.port == 80 OR Payloadheader.LowerProtocol.port == 80

Нужно отредактировать правило и добавить в него все три стандартные SMTP порты:

(tcp.port == 25 OR Payloadheader.LowerProtocol.port == 25 OR
tcp.port == 587 OR Payloadheader.LowerProtocol.port == 587 OR
tcp.port == 465 OR Payloadheader.LowerProtocol.port == 465)

Если на сервере несколько сетевых интерфейсов или дополнительных IP адресов на адаптере , можно добавить фильтр на исходящий IP:

AND
(IPv4.SourceAddress == 192.168.158.144)

Фильтры в Network Monitor можно комбинировать с помощью скобок и логических выражений OR / AND / NOT , или использовать вместо них || , && или ! .

Нажмите кнопку Apply , чтобы сохранить фильтр.

Затем перейдите в раздел Tools -> Options -> Parser profiles . Выберите Windows в профиле парсера по умолчанию ( Set as active ).

Теперь можно запустить захват трафика. Нажмите кнопку Start в панели инструментов.

Теперь вам нужно воспроизвести проблему, или если она появляется редко в неизвестные моменты времени, просто оставьте NetMon запущенным в течении дня/недели.

Имейте в виду, что в зависимости от настроек фильтра захвата, дамп сетевого трафика за большой промежуток времени потребует значительного количества RAM и свободного места на диске.

В нашем случае через некоторое время в журнале пакетов NetMon появились события, соответствующий примененным фильтрам. Если открыть содержимое пакетов, то можно обнаружить что выполнялась попытка SMTP подключения. Внутри пакетом можно увидеть команды SMTP протокола, попытки аутентификации, адрес целевой сервер и email адрес, на который выполняется отправка (пример SMTP команд в telnet для отправки почты с аутентификацией ).

В поле Process Name указано имя процесса, который инициировал данные сетевой трафик. В этом случае мы определили, что SMTP рассылка выполняется консольной утилитой blat.exe .

Также в дамп попала моя сессия powershell.exe , из которой я проверял доступность порта 25 на внешнем сервере:

Test-NetConnection smtp.mail.ru -port 25

Чтобы остановить захват сетевого трафика, нужно нажать кнопку Stop . Полученный дамп трафика можно сохранить *.CAP файл для последующего анализа в офлайн режиме.

Можно добавить дополнительные фильтры по IP или MAC адресу назначения/источника, различным протоколам, портам и специальные фильтры для анализа трафика некоторых протоколов (SMB, HTTP, DNS). Фильтры можно применять как целиком к захваченному трафику, так и для фильтрации отображаемых данных в рамках текущей сессии (окно Display Filter ).

Например, чтобы отфильтровать пакеты, можно щелкнуть по любому из значений в списке пакетов и выбрать Add [something] to Display Filter .

На скриншоте я добавил правило фильтрации по IP адресу назначения. В окно фильтра был добавлен такой код:

Destination == "ip_adress"

Ниже представлены несколько примером часто используемых фильтров Network Monitor.

Фильтр по IP адресу назначения:

IPv4.SourceAddress == 192.168.0.1

Фильтр по IP источника или назначения:

IPv4.Address == 192.168.0.1

Фильтр по номеру TCP порта:

tcp.port == 443
OR
Payloadheader.LowerProtocol.port == 443

Можно указывать диапазоны портов:

(udp.Port>=10000 && udp.port<=19999)

В этой статье мы рассмотрели особенности захвата и последующего анализа сетевого трафика в Windows с помощью Microsoft Network Monitor. Также в Windows для снятия дампа трафика без установки Network Monitor на компьютере можно использовать встроенную консольную утилиту PktMon . Дамп, снятый такой утилитой, можно проанализировать на любом компьютере с установленным NetMon или Wireshark.

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 недели ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 недели ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 недели ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 недели ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 недели ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 недели ago