img

Как использовать анализатор пакетов PktMon в Windows 10

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Windows 10 предлагает встроенный инструмент сетевого анализатора PktMon.exe для мониторинга внутреннего распространения пакетов и отчетов о сбрасывании пакетов. Этот инструмент может помочь вам исследовать сеть и помочь устранить причину задержки в сети, выявить уязвимые приложения и, при использовании с дополнительным набором инструментов, может предоставить представление о главных показателях.

PktMon

В то время как пользователи Linux всегда имели инструмент tcpdump для отслеживания сети, пользователям Windows приходилось устанавливать сторонние программы, такие как Microsoft Network Monitor и Wireshark.


Сетевой анализатор пакетов pktmon.exe в Windows 10

PktMon или Packet Monitor - это новый сетевой анализатор (сниффер) или средство диагностики сети и мониторинга пакетов. Он находится в папке System (C:Windowssystem32pktmon.exe.), что означает, что вы можете вызвать его из командной строки, при помощи утилиты Run или PowerShell.


Как запустить Packet Monitor в Windows 10?

Для запуска Packet Monitor сначала необходимо открыть окно командной строки.

  1. Нажмите Ctrl + R, чтобы открыть Run и введите cmd, затем нажмите Enter или нажмите кнопку OK.
  2. В командной строке введите pktmon.exe и нажмите Enter.

Что может PktMon?

PktMon help

Если вы запустите справку PktMon, введя в командной строке pktmon help, вот что вы получите:

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

И если вам нужна дополнительная помощь по конкретной команде, вы можете запустить справку для этой команды. Вот как это выглядит:

pktmon filter help

pktmon filter { list | add | remove } [OPTIONS | help]
Commands
list Display active packet filters.
add Add a filter to control which packets are reported.
remove Removes all filters.

Как использовать PktMon для мониторинга сетевого трафика

Рассмотрим как использовать PktMon. В этом примере предполагается, что вы хотите отслеживать порт на компьютере, который часто имеет проблемы. Для этого необходимо:

  1. Создать фильтр для мониторинга порта
  2. Начать мониторинг
  3. Экспортировать логи в читаемый формат

Создание фильтра

Основная опция, которая позволяет вам отслеживать трафик - это filter. Используя эту опцию, вы можете создать фильтр, чтобы контролировать, какие пакеты будут под наблюдением, на основе кадра Ethernet, заголовка IP, заголовка TCP и инкапсуляции. Если вы запустите нижеупомянутую команду, вы получите полную информацию о том, что вы можете сделать с фильтром.

pktmon filter add help

Итак, возвращаясь к нашей теме, давайте предположим, что нам нужен порт TCP 1088. Это может быть порт, используемый вашим пользовательским приложением, который начал сбоить.

Откройте командную строку или PowerShell с правами администратора и создайте фильтр пакетов с помощью команды: pktmon filter add -p [port]

pktmon filter add -p 1088
pktmon filter add

Чтообы удалить все фильтры, выполните команду pktmon filter remove

Начать мониторинг

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

pktmon start --etw - p 0

Она запустит мониторинг и создаст файл с логами в указанном месте. Вам нужно будет вручную останавливать мониторинг, используя аргумент stop, чтобы остановить ведение лога, или это само закончится, когда компьютер выключится. Если вы запустите команду с -p 0, то она будет захватывать только 128 байтов пакета.

После выполнения pktmon записывает все пакеты на ВСЕХ сетевых интерфейсах устройства. Чтобы захватывать весь пакет и только с определенного устройства Ethernet, вы можете использовать аргументы -p 0 (захват всего пакета) и -c 13 (захват только с адаптера с идентификатором 13). Чтобы определить ID вашего адаптера, вы можете запустить команду pktmon comp list

Log filename: C:Windowssystem32PktMon.etl
Logging mode: Circular
Maximum file size: 512 MB

Экспорт лога в читаемый формат

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

pktmon format PktMon.etl -o port-monitor-1088.txt
pktmon format

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

Microsoft Network Monitor

Мониторинг в реальном времени

Вы можете включить мониторинг в реальном времени, используя аргумент -l real-time. Это приведет к тому, что захваченные пакеты будут отображаться непосредственно на экране, а также сохраняться в файле ETL. -l real-time

Microsoft также добавила возможность конвертировать файлы ETL в формат PCAPNG, чтобы их можно было использовать в таких программах, как Wireshark.

pktmon pcapng help

После преобразования файла в формат PCAPNG их можно открыть в Wireshark.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker