А АMonday 14 March 2022

Packet Monitor Windows.

Всем привет.

В Windows 10 (1809) и Windows Server 2019 появился встроенный анализатор сетевого трафика Packet Monitor. В последнем билде Windows 10 функционал анализатора пакета был существенно расширен: появилась поддержка захвата пакетов в реальном времени, а также поддержка формата PCAPNG для импорта в анализатор сетевого трафика Wireshark. 

Таким образом в Windows появился функционал захвата сетевого трафика, аналогичный tcpdump, и его можно смело использовать системными и сетевыми администраторам для диагностики работы сети. Packet Monitor позволяет получить всю сетевую активность, проходящую через сетевой интерфейс компьютера на уровне каждого пакета.

Ранее для захвата сетевого трафика и инспектирования пакетов в Windows использовалась команда netsh trace.

Основные команды утилиты Packet Monitor:

filter - управление фильтрами пакетов

comp - управление зарегистрированными компонентами;

reset - сброс счетчиков;

start - запустить мониторинг пакетов;

stop - остановить сбор пакетов;

format - конвертировать лог файл трафика в текстовый формат;

pcapng - конвертация в формат pcapng;

unload - выгрузить драйвер PktMon.

Чтобы получить справку по выбраннной команде просто укажите ее имя в конце:

pktmon filter

Для примера соберем дамп трафика, который приходит на определенные запущенные службы компьютера. Допустим, нам нужно проанализировать трафик FTP (TCP порты 20 и 21) и HTTP (порты 80 и 443).

Создадим фильтр пакетов для 4 TCP-портов:

pktmon filter add FTPFilter -p 20 21

pktmon filter add HTTPFilter -p 80 443

Выведем список имеющихся фильтров:

pktmon filter list

Чтобы запустить фоновый сбор трафика, выполните команду:

1) запись пакетов

   pktmon start --capture

2) только счетчики пакетов

   pktmon start --capture --counters-only

3) регистрация событий

   pktmon start --trace -p Microsoft-Windows-TCPIP -p Microsoft-Windows-NDIS

4) запись пакетов с регистрацией событий

   pktmon start --capture --trace -p Microsoft-Windows-TCPIP -k 0xFF -l 4


Сбор сетевых пакетов запущен.

Фильтр пакетов начнет запись всего трафика, соответствующего заданным фильтрам в файл C:\Windows\System32\PktMon.etl (максимальный размер 512 Мб). 

Чтобы остановить запись дампа, выполните команду:

pktmon stop

Также сбор сетевых пакетов прекращается после перезегрузки Windows. Т.е. Windows такой процесс для себя не запоминает. После окончания захвата можно сконвертировать файл с дампом трафика из формата ETL в обычный текст:

pktmon etl2txt PktMon.etl -o packetsniffer.txt

или в pcapng:

pktmon etl2pcap PktMon.etl -o packetsniffer.pcapng

Полученный дамп трафика можно парсить как в текстовом виде, так и загрузить файл в Microsoft Network Monitor (ЕТL) или Wireshark (PCAPNG).

Чтобы удалить все созданные фильтры Packet Monitor выполняем:

pktmon filter remove

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

pktmon start -p Microsoft-Windows-TCPIP -l real-time

Чтобы остановить сбор трафика, используется обычная комбинацию клавиш Ctrl+с. Если у вас наблюдается drop пакетов на сетевом интерфейсе, PacketMon может показать причину, например, некорректный MTU или VLAN. Также можно использовать PktMon в Windows Admin Center через его расширения. 

В общем наличие такого штатного инструмента в Windows окажет большую помощь сетевому инженеру в его работе.  Удачи.

Слава Украине!

No comments:

Post a Comment

А что вы думаете по этому поводу?

Версия на печать

Популярное