Найти в Дзене

PktMon — сниффер в Windows 10

Оглавление

PktMon.exe (Packet Monitor, Монитор пакетов) — встроенная утилита в Windows 10 и Windows Server 2019, позволяющая перехватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа.

Наконец-то можно анализировать пакеты без установки дополнительного софта. Утилита может использоваться для записи пакетов, обнаружения пакетов, фильтрации пакетов и подсчета. Этот инструмент особенно полезен в сценариях виртуализации, например в сетях контейнеров и SDN, так как он обеспечивает видимость сетевого стека. Пригодится системными и сетевыми администраторам для анализа и диагностики сети.

Packet Monitor поддерживает формат WireShark (PCAPNG) и Netmon (ETL), может работать с дампами TcpDump.

Расположение утилиты:

C:\Windows\system32\pktmon.exe

Можно запускать в командной строке или PowerShell. Основные команды Packet Monitor:

  • filter — управление фильтрами пакетов.
  • comp — управление зарегистрированными компонентами
  • reset — сброс счетчиков до нуля
  • start — запуск мониторинга пакетов
  • stop — остановка мониторинга
  • format — преобразование файла журнала в текст
  • pcapng — преобразование файла журнала в формат pcapng
  • unload — выгрузка драйвера PktMon

Получить справку о команде:

pktmon help
pktmon filter add help

Ссылки

tcpdump — анализатор сетевого трафика

Wireshark — анализатор сетевого трафика

https://docs.microsoft.com/ru-ru/windows-server/networking/technologies/pktmon/pktmon-syntax

Возможности PktMon

  • Мониторинг пакетов и подсчет в нескольких расположениях в сетевом стеке
  • Удаленное обнаружение пакетов в нескольких расположениях стека
  • Гибкая фильтрация пакетов среды выполнения
  • Поддержка инкапсуляции
  • Анализ сети на основе синтаксического анализа пакетов TcpDump
  • Анализ метаданных пакетов (OOB)
  • Мониторинг пакетов на экране в режиме реального времени
  • Ведение журнала в памяти большого объема
  • Поддержка формата Wireshark и сетевой монитор

Ограничения

  • Пока только Ethernet, нет поддержки беспроводного трафика.
  • Не видит пакеты из брандмауэра Windows.

Немного теории

Все компоненты между сетевым адаптером и приложением формируют сетевой стек: набор сетевых компонентов, которые обрабатывают и перемещают сетевой трафик. В традиционных сценариях сетевой стек невелик, и все маршрутизация пакетов и переключение происходят во внешних устройствах.

-2

В среде виртуализации сетевой стек увеличен. Расширенный сетевой стек теперь включает такие компоненты, как виртуальный коммутатор, ответственный за коммутацию и обработку пакетов. PktMon может работать с таким расширенным сетевым стеком.

-3

Монитор пакетов перехватывает пакеты в нескольких расположениях в сетевом стеке, определяя маршрут пакета. Если пакет был удален поддерживаемым компонентом в сетевом стеке, то монитор пакетов сообщит о том, что пакет удаляется. Это позволяет пользователям отличить компонент, который является предполагаемым местом назначения для пакета, от компонента, который мешает работе пакета. Кроме того, монитор пакетов сообщает о причинах удаления. Например, MTU Mismatch, Filtered VLAN и т.д. Эти причины помогают определить источник проблемы. Монитор пакетов также предоставляет счетчики пакетов для каждой точки перехвата без необходимости длительного анализа журналов.

-4

Пример использования PktMon

Мониторим DNS трафик. Запускаем командную строку или PowerShell. Сбрасываем возможные фильтры:

pktmon filter remove

Создаём фильтр для 53 порта DNS:

pktmon filter add -p 53

Одновременно поддерживается до 32 фильтров. Посмотреть список имеющихся фильтров:

pktmon filter list
-5

Мониторим трафик в реальном времени:

pktmon start --etw -p 0 -l real-time

Или в новой версии:

pktmon start --etw -m real-time

или

pktmon start --etw --log-mode real-time

Источник:
https://internet-lab.ru/pktmon_soft

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.