В 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 через его расширения.
No comments:
Post a Comment
А что вы думаете по этому поводу?