Microsoft Network Monitor это классический инструмент сетевой диагностики для Windows, которой позволяет выполнить захват и анализ входящего и исходящего трафика на компьютере. Несмотря на то, что это продукт не развивается и не обновляется уже много лет, его часто используют администраторы, когда нужно выполнить диагностику сетевых подключений. NetMon предоставляет на порядок меньше возможностей и не так хорош в расширенном разборе пакетов, по сравнению с популярным инструментом захвата и анализа WireShark. Однако графический интерфейс Network Monitor гораздо проще и интуитивнее, да и сам продукт легче для старта.
Сегодня мы рассмотрим, как использовать Network Monitor для захвата и анализа сетевого трафика в реальном времени и для снятия дампа трафика для последующего анализа.
На список поддерживаемых версий ОС не обращайте внимания, он чудесно работает и на Windows 10 и на Windows 2019. Установить 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, собирает весь трафик, проходящий через интерфейсы компьютеры. За длительный промежуток времени размер такого сетевого дампа может быть весьма значительным. Нажмите кнопку 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.1.14)
Нажмите кнопку Apply, чтобы сохранить фильтр.
Фильтры в Network Monitor можно комбинировать с помощью скобок и логических выражений OR / AND / NOT , или использовать вместо них || , && или ! .
Затем перейдите в раздел Tools -> Options -> Parser profiles. Выберите Windows в профиле парсера по умолчанию (Set as active).
Теперь можно запустить захват трафика. Нажмите кнопку Start в панели инструментов. На самом деле можно было, но лучше перегрузить ОС, чтобы в окне сетевых адаптеров появились все NICs системы к которым сможет дотянуться Network Monitor.
Теперь вам нужно воспроизвести вашу проблему, или если она появляется редко в неизвестные моменты времени, просто оставьте NetMon запущенным в течении дня или недели.
Имейте в виду, что в зависимости от настроек фильтра захвата, дамп сетевого трафика за большой промежуток времени потребует значительного количества ОЗУ и свободного места на диске. ОЗУ в первую очередь ибо Network Monitor не пишет данные на диск по умолчанию.
Чтобы остановить захват сетевого трафика, нужно нажать кнопку Stop. Полученный дамп трафика можно сохранить в CAP-файл для последующего анализа в офлайн режиме.
Можно добавить дополнительные фильтры по IP или MAC адресу назначения/источника, различным протоколам, портам и специальные фильтры для анализа трафика некоторых протоколов (SMB, HTTP, DNS). Фильтры можно применять как целиком к захваченному трафику, так и для фильтрации отображаемых данных в рамках текущей сессии (окно Display Filter).
Например, чтобы отфильтровать пакеты, можно щелкнуть по любому из значений в списке пакетов и выбрать Add [something] to Display Filter.
Ниже представлены несколько примером часто используемых фильтров 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)
В целом Network Monitor такая себе Wireshark на минималках, простенько и со свкусом. Также в Windows для снятия дампа трафика без установки Network Monitor на компьютере можно использовать встроенную консольную утилиту PktMon. Дамп, снятый такой утилитой, можно проанализировать на любом компьютере с установленным NetMon или Wireshark.
No comments:
Post a Comment
А что вы думаете по этому поводу?