Váš počítač s Windows 11 má zabudovaný analyzátor paketov — a je silnejší, než si väčšina ľudí uvedomuje


Akýkoľvek sprievodca analýzou paketov vo Windows, ktorý začína slovami "stiahnite si Wireshark", môže vynechávať veľmi dôležitý krok, najmä preto, že Windows už má zabudovaný analyzátor paketov. Volá sa PktMon (Packet Monitor). Aj keď ste o ňom pravdepodobne nepočuli, je oveľa robustnejší, než by ste očakávali.

Je to predovšetkým nástroj príkazového riadku, ktorý zachytáva skutočnú sieťovú prevádzku, filtruje ju a môže ju exportovať na ďalšiu analýzu. V závislosti od toho, čo potrebujete dosiahnuť, môže byť jediným analyzátorom paketov, ktorý kedy budete potrebovať, a účinným bezplatným diagnostickým nástrojom.

Čo je monitor paketov

Skrytý analyzátor siete už na vašom počítači

Keď načítate webovú stránku alebo spustíte aplikáciu, alebo keď na vašom počítači prebiehajú synchronizácie na pozadí, cez sieť sa odosielajú malé kúsky údajov. Tieto sa nazývajú pakety a PktMon (Packet Monitor) ich môže zachytiť a sledovať vo Windows. Pre mňa sa stal efektívnym nástrojom na riešenie problémov so sieťou, pretože môžem pozorovať pakety, ktoré môj systém odosiela a prijíma, keď procesy bežia pomaly alebo sa správajú čudne, bez inštalácie nástrojov tretích strán.

Po jeho zavedení vo Windows Server 2019 ho Microsoft zahrnul do Windows 10. Vo Windows 11 ho nájdete v tomto adresári:

C:\Windows\System32\pktmon.exe

Nevyžaduje inštaláciu ovládačov ani sprievodcov nastavením, a v porovnaní s inými bežnými možnosťami to vyzerá nasledovne:

Funkcia

PktMon

Wireshark

netsh trace

Vstavané vo Windows

Áno

Nie

Áno

GUI

Nie

Áno

Nie

Formáty výstupu

ETL/PCAPNG

PCAP/PCAPNG

ETL

Jednoduchosť nastavenia

Veľmi jednoduché

Stredný

Tvrdý

Najlepšie využitie

Rýchle zachytenie

Hlboká analýza

Dedičné sledovanie

Prečo je PktMon silnejší, než vyzerá

PktMon a vnútorné fungovanie sieťovania Windows

Spočiatku som podcenil PktMon, pretože nemá grafické rozhranie, grafy ani priateľské panely. Napriek tomu je pre Windows mimoriadne výkonný, pretože využíva Event Tracing for Windows (ETW) na priame prepojenie s sieťovým zásobníkom Windows. To znamená, že v porovnaní s väčšinou nástrojov tretích strán sa PktMon nachádza bližšie k systému - čo je výhoda, ktorá znižuje režijné náklady pri zachytávaní premávky.

Táto integrácia umožňuje jej okamžité spustenie bez potreby tradičných ovládačov, ako sú Npcap alebo WinPcap. Ale najlepšie na tom je, že funguje v uzamknutých prostrediach, kde nebude možné inštalovať softvér. Ešte dôležitejšie je, že jej hlboká integrácia so systémom vám umožňuje vidieť prenos presne tak, ako ho vidí systém, a nie tak, ako sa aplikačná aplikácia rozhodne ho zobraziť.

Hneď prvýkrát, keď som to použil, som spustil capture príkaz, ktorý trval iba jednu minútu s jedným otvoreným prehliadačom. Napriek tomu odhalil niekoľko odchádzajúcich spojení na pozadí, a hoci niektoré z nich boli očakávané, niektoré iné neboli až také zrejmé. Dalo mi to rýchle pochopenie toho, koľko je na pozadí aktivita, aj keď aplikácie vlastne nepoužívate.

Štandardne PktMon zachytáva prevádzku cez Wi-Fi, Ethernet a virtuálne adaptéry. To môže spôsobiť, že výsledky sú trochu ohromujúce, ale v kombinácii s vhodnými filtrami sa stávajú ľahšie spravovateľnými. Zo všetkého tohto najviac vyniklo, ako PktMon pôsobil a fungoval plynulo — skutočná vstavaná diagnostická vrstva pre Windows.

Ako zachytiť sieťový traffic pomocou PktMon

Jednoduchý pracovný tok, ktorý pokrýva väčšinu reálnych scenárov






Na začiatok s PktMon potrebujete iba niekoľko základných príkazov, ale najprv spustite Príkazový riadok s právami administrátora. Toto je dôležitý krok, pretože na zachytávanie prevádzky potrebujete prístup na systémovej úrovni. Nižšie uvedené príkazy predstavujú typický pracovný postup:

pktmon filter add -p 443 
pktmon start --capture 
pktmon stop

Pri prvom príkaze som zahrnul filter, ktorý zachytáva pakety iba na porte 443 (HTTPS). Aj keď tento krok môžete vynechať, je to druh cieleného zachytávania, ktorý vám pomáha vyhnúť sa zahlteniu nadbytočnými údajmi. Spustením druhého príkazu sa začne zachytávanie a tretí ho zastaví. Váš výstup sa automaticky uloží do súboru s názvom PktMon.etl v aktuálnom pracovnom adresári. Tento ETL súbor nie je čitateľný pre ľudí; spustite nižšie uvedený príkaz, aby ste ho mohli zobraziť v čistej textovej podobe.

pktmon format PktMon.etl -o output.txt -x

-x príznak zabezpečuje, že váš výstup zostane v ľudsky čitateľnom formáte. Tiež je možné tento výstup previesť do formátu, ktorý dokáže nástroj ako Wireshark pochopiť, pomocou nasledujúceho príkazu:

pktmon pcapng PktMon.etl -o output.pcapng

Často používam PktMon na rýchle zachytávanie; ak potrebujem hlbšiu analýzu, prepnem sa na nástroje s GUI. Nižšie sú uvedené niektoré dôležité prepínače, ktoré môžete potrebovať:

Vlajka

Čo to robí

Príklad

-p

Filtrovať podľa portu

-p 443

-t

Filtrovať podľa protokolu

-t TCP

-i

Filtrovať podľa adaptéra

-i 3

-c

Obmedziť počet paketov

-c 100

Toto sú jednoduché príkazy Windows, ktoré sa môžeš naučiť. Po čase si vyvinieš svalovú pamäť, ktorá ich robí prirodzenými.

Ako porozumieť výstupu PktMon

Premieňanie surových kmeňov na niečo skutočne užitočné

Po spustení skenovania môže byť surový výstup ohromujúci, takže by ste mali vedieť, kde hľadať. Záznamy vždy obsahujú časovú značku. Toto platí pre prichádzajúcu aj odchádzajúcu prevádzku (Rx a Tx) a platí pre všetky protokoly a veľkosti paketov. Je dôležité identifikovať vzory.

Môžete filtrovať pred zachytením, ale môžete tiež vyhľadávať vo formátovanom výstupe. V praxi to funguje takto. Ak potrebujem diagnostikovať pomalú aplikáciu, filtrujem podľa jej známej IP adresy alebo portu. Potom pozorujem opakujúce sa požiadavky, oneskorenia alebo nezvyčajné vzorce premávky.

Spustím nižšie uvedený príkaz, ak potrebujem režim v reálnom čase s živým prenosom hlavičiek paketov:

pktmon start --capture -m real-time

Vyššie uvedený príkaz zobrazí časové pečiatky, smer (Rx/Tx), IP adresy a TCP vlajky. Toto je často všetka metadáta potrebná na zistenie toho, ako sa spojenie správa. Používam nasledujúce praktické kombinácie filtrov:

Cieľ

Príklad príkazu

Len HTTPS prenos

pktmon filter add -p 443

Špecifický adaptér

pktmon filter add -i [ID] (ID nájdete cez pktmon list)

Špecifická IP adresa

pktmon filter add -d 54.236.120.233

Len TCP prevádzka

pktmon filter add -t TCP

Obnoviť všetky filtre

pktmon filter remove

PktMon alebo Wireshark?

PktMon nie je vždy riešením. Ale keď potrebujete rýchlosť a jednoduchosť, vyniká. Preferujem ho na rýchly pohľad na to, čo sa deje v mojej sieti. Funguje dobre pre skriptovanú alebo automatizovanú diagnostiku. Je to dobrá voľba vo virtuálnych prostrediach a Hyper-V. Toto sú prípady, kde tradičné nástroje niekedy majú problém zachytiť prevádzku čisto.

Avšak nedostatok grafického rozhrania je stále jasným obmedzením. Chýba mu tiež hlboké dekódovanie protokolu a neposkytuje vizuálne rozdelenie paketov. Windows 11 obsahuje niekoľko nástrojov na riešenie problémov, ale PktMon je jeden z mojich obľúbených.

Súvisiace články