Вбудований аналізатор (сніффер) мережевого трафіку Монітор пакетів (PktMon.exe) з’явився ще в Windows 10 1809 і Windows Server 2019. В останньому білді Windows 10 2004 року (May 2020 Update), функціонал аналізатора пакета був істотно розширено (з’явилася підтримка захоплення пакетів в реальному часі, і підтримка формату PCAPNG для простого імпорту в аналізатор мережевого трафіку Wireshark ). Таким чином в Windows з’явився функціонал захоплення мережевого трафіку, аналогічний tcpdump, і його можна сміливо використовувати системними і мережевими адміністраторам для діагностики роботи мережі.

Packet Monitor дозволяє отримати всю мережеву активність, що проходить через мережевий інтерфейс комп’ютера на рівні кожного пакета.

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

Довідку щодо використання параметрів pktmon.exe можна отримати, набравши команду в командному рядку.

Packet Monitor (PktMon) сниффер мережевого трафіку в Windows

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

  • фільтр – управління фільтрами пакетів
  • комп – управління зареєстрованими компонентами;
  • скинути – скидання лічильників;
  • почати – запустити моніторинг пакетів;
  • Стоп– зупинити збір пакетів;
  • формат – конвертувати лог файл трафіку в текстовий формат;
  • pcapng – конвертація в формат pcapng;
  • розвантажити – вивантажити драйвер PktMon.

Щоб отримати довідку по субкоманди, вкажіть її ім’я:

pktmon filter

довідка по командам pktmon

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

Створимо фільтр пакетів для 4 TCP портів (також можна моніторити UDP і ICMP трафік):

pktmon filter add -p 20 21
pktmon filter add HTTPFilt –p 80 443

Виведемо список наявних фільтрів:

pktmon filter list

добавлніе мережевих фільтрів в pktmon filter

Щоб запустити фоновий збір трафіку, виконайте команду:

pktmon start –etw

Log file name: C:WindowsSystem32PktMon.etl
Logging mode: Circular
Maximum file size: 512 MB
Active measurement started.

pktmon start запустити збір мережевих пакетів

У такому режимі pktmon збирає дані з усіх мережевих інтерфейсів, але в журнал потрапляють тільки перші 128 байтів пакета. Щоб захопити пакети цілком і тільки на певному інтерфейсі комп’ютера, використовується команда:

pktmon start --etw -p 0 -c 9

де значення аргументу c – номер (ID) потрібного мережевого інтерфейсу, отриманого за допомогою:

pktmon comp list

pktmon comp list - список мережевих інтерфейсів, завантажених драйверів, протоколів і фільтрів стека TCP-IP в Windows

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

pktmon stop

Також збір мережевих пакетів припиняється після перезегрузкі Windows.

Тепер ви можете конвертувати файл з дампом трафіку з формату ETL в звичайний текст:

pktmon format PktMon.etl -o c:pspacketsniffer.txt

або

pktmon PCAPNG PktMon.etl  -o c:pspacketsniffer.pcapng

Отриманий дамп трафіку можна аналізувати в текстовому вигляді, завантажити ETL файл у встановлений на комп’ютері адміністратора Microsoft Network Monitor або WireShark (в форматер PCAPNG).

аналіз дампа трафіку в Microsoft Network Monitor

Щоб видалити всі створені фільтри Packet Monitor, виконайте:

pktmon filter remove

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

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

PktMon трафік в реальному часі real-time

Щоб зупинити збір трафіку, використовуйте комбінацію клавіш Ctrl + C.

Якщо у вас спостерігається drop пакетів на мережевому інтерфейсі, PacketMon може показати причину дропов (наприклад, некоректний MTU або VLAN).

Також ви можете використовувати PktMon в Windows Admin Center через розширення. Зібрані дані з комп’ютерів і серверів при діагностиці мережевих проблем можна використовувати для аналізу в більш потужних програмах аналізу мережевого трафіку, таких як Microsoft Network Monitor або Wireshark.

Leave a Reply

Your email address will not be published. Required fields are marked *