Řízení trasování rozhraní Winsock
Trasování rozhraní Winsock lze ovládat pomocí některé z následujících metod:
Nástroje příkazového řádku
Součástí systému Windows Vista a Windows Server 2008 jsou dva nástroje příkazového řádku, které slouží k řízení trasování a převodu souboru binárního protokolu trasování na čitelný text.
Nástroj logman.exe se používá k zapnutí nebo vypnutí trasování rozhraní Winsock.
Nástroj tracerpt.exe slouží k převodu souboru protokolu binárního trasování na čitelný textový soubor.
Prohlížeč událostí
Prohlížeč událostí v systému Windows Vista a novější lze také použít k povolení trasování Winsock. Prohlížeč událostí je přístupný v části Nástroje pro správu z nabídky Start.
Použití Logman a Tracerpt
Trasování událostí sítě Winsock je ve výchozím nastavení zakázané v systému Windows Vista a novějších verzích.
Následující příkaz spustí trasování síťových událostí Winsock v počítači, nastaví název relace trasování událostí na mywinsocksession a odešle výstup do binárního souboru protokolu s názvem winsocklogfile.etl:
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
Soubory protokolu se vytvářejí v aktuálním adresáři s názvy souborů formuláře winsocklogfile_000001.etl.
Následující příkaz zastaví výše uvedené trasování rozhraní Winsock na počítači pro relaci s názvem mywinsocksession:
logman stop -ets mywinsocksession
Binární soubor protokolu se zapíše do umístění určeného parametrem -o. K překladu binárního souboru do čitelného textového souboru se používá tracerpt.exe:
tracerpt.exe <název souboru .etl> –o winsocktracelog.txt
Pokud je upřednostňovaný výstupní soubor obsahující soubor XML, nikoli prostý text, použije se následující příkaz:
tracerpt.exe <název souboru .etl> –o winsocktracelog.xml –of xml
Trasování změn katalogu Winsock je ve výchozím nastavení povoleno v systému Windows Vista a novějších verzích.
Poznámka
Poskytovatelé vrstvených služeb jsou zastaralí. Počínaje Windows 8 a Windows Serverem 2012 používejte platformu Windows Filtering.
Následující příkaz spustí trasování změn katalogu Winsock pro zprostředkovatele vrstvených služeb (LSP) v počítači, nastaví název relace trasování událostí na mywinsockcatalogsession a odešle výstup do binárního souboru protokolu s názvem winsockcataloglogfile.etl:
spustit logman -ets mywinsockcatalogsession -o winsockcatalogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
Soubory protokolu se vytvoří v aktuálním adresáři s názvy souborů ve formátu winsockcataloglogfile_000001.etl.
Následující příkaz zastaví výše uvedené trasování Winsock na počítači pro relaci, která je pojmenována mysession:
logman stop -ets mywinsockcatalogsession
Binární soubor protokolu se zapíše do umístění určeného parametrem -o. K překladu binárního souboru do čitelného textového souboru se používá tracerpt.exe:
tracerpt.exe <název souboru .etl> –o winsockcatalogtracelog.txt
Pokud je upřednostňovaný výstupní soubor obsahující soubor XML, nikoli prostý text, použije se následující příkaz:
tracerpt.exe <název souboru .etl> –o winsockcatalogtracelog.xml –of xml
Použití prohlížeče událostí ke spuštění trasování síťových událostí Winsock
Při otevření Prohlížeče událostí obsahuje levé podokno seznam událostí. Otevřete Protokoly aplikací a služeb a přejděte na Microsoft\Windows\Winsock Network Event jako zdroj a vyberte Provozní.
V podokně akcí vyberte Vlastnosti protokolu a zaškrtněte políčko Povolit protokolování. Po povolení protokolování můžete také změnit velikost souboru protokolu, pokud je to potřeba.
Trasování událostí sítě Winsock je teď povolené a stačí, když se zobrazí akce Aktualizovat, aby se aktualizoval seznam událostí, které byly zaznamenány. Pokud chcete protokolování zastavit, jednoduše zrušte zaškrtnutí stejného přepínače.
Možná budete muset zvětšit velikost protokolu v závislosti na tom, kolik událostí chcete zobrazit. Jednou z nevýhod použití prohlížeče událostí pro trasování rozhraní Winsock je to, že nenačte všechny řetězcové prostředky, takže zprávy zobrazené v poli Popis (jakmile vyberete událost) je někdy obtížné číst (argument, který by měl být formátován jako šestnáctkový bude například zobrazen v desítkové soustavě). Můžete však vybrat kartu Podrobnosti v popisu události, která zobrazuje nezpracovanou položku protokolu XML, jež obvykle obsahuje argumenty, které je snazší pochopit.
Použití Prohlížeče událostí ke spuštění trasování změn katalogu Winsock
Při otevření Prohlížeče událostí obsahuje levé podokno seznam událostí. Otevřete protokoly aplikací a služeb a přejděte na Microsoft\Windows\Winsock Catalog Change jako zdroj a vyberte Provozní.
V podokně akcí vyberte Vlastnosti protokolu a zaškrtněte políčko Povolit protokolování. Po povolení protokolování můžete také změnit velikost souboru protokolu, pokud je to potřeba.
Trasování změn katalogu Winsock je nyní povolené a vše, co je potřeba udělat, je stisknout akci Aktualizovat, aby se aktualizoval seznam událostí, které byly zaznamenány. Pokud chcete protokolování zastavit, jednoduše zrušte zaškrtnutí stejného přepínače.
Možná budete muset zvětšit velikost protokolu v závislosti na tom, kolik událostí chcete zobrazit. Jednou z nevýhod použití Prohlížeče událostí pro trasování Winsock je to, že nenačte všechny řetězce, takže zprávy zobrazené v poli Popis (jakmile vyberete událost) jsou někdy obtížně čitelné. Například argument, který by měl být formátován jako šestnáctkový, může být zobrazen v desítkové soustavě. Můžete však vybrat kartu Podrobnosti v popisu události, která zobrazuje surový záznam protokolu XML, který má obvykle jednodušší argumenty k pochopení.
Interpretace protokolů trasování Winsocku
Všechny události trasování rozhraní Winsock v protokolu obsahují dva typy informací:
- Systém
- Údaje o události
Systémové informace obsahují úroveň protokolování, čas vytvoření položky protokolu, ID události, která představuje typ události, ID procesu spuštění, ID prováděcího vlákna a další systémové informace. Úroveň záznamu 4 v trasování rozhraní Winsock představuje zaznamenávání informačních událostí. Úroveň protokolování 5 v trasování Winsock představuje podrobné protokolování událostí.
ID procesu spuštění a ID vlákna v informacích o systému označuje proces a vlákno, které bylo spuštěno při události. V mnoha případech to bude představovat jádro nebo pracovní vlákno a proces, nikoli vlákno uživatelského režimu nebo proces aplikace. Takže toto pole není obvykle velmi užitečné.
Každý typ události snímání Winsock má jedinečné ID události v systémové části zaznamenaných dat. Tato ID událostí se dají snadno použít k filtrování souboru protokolu pro konkrétní události trasování rozhraní Winsock.
Data událostí obsahují informace specifické pro typ události.
Parametr Process v informacích eventdata je adresa struktury EPROCESS jádra pro proces, nikoli skutečný PID. Chcete-li shodovat událost s PID uživatelského režimu, převezměte hodnotu Proces z informací o událostech z jakékoli položky protokolu a podívejte se dříve v protokolu na událost vytvoření soketu s hodnotou Proces. Po nalezení shody je posledním parametrem v datech události vytvoření soketu ID procesu v uživatelském režimu, které vytvořilo soket.
Parametr Address se v některých událostech trasování Winsock vrací v informacích o událostech typu eventdata. Parametr Adresa představuje IP adresu, ale zobrazuje se v textovém souboru vytvořeném nástrojem tracerpt.exe nebo v Prohlížeči událostí jako nezpracované bajty nebo číslo. Adresy IPv6 se zobrazují v šestnáctkové soustavě, takže jsou snadněji pochopitelné. Adresy IPv4 se zobrazují jako velké desetinné číslo. Vývojáři budou muset ručně převést nezpracované bajty adresy IPv4 na známý zápis IPv4 s tečkovaným počtem desetinných míst, aby mohli lépe interpretovat hodnotu.
V některých událostech trasování Winsock je v objektech eventdata vrácen parametr Error. Parametr Error je ve formě kódu chyby NTSTATUS nebo HRESULT. Tento parametr chyby se zobrazí v textovém souboru vytvořeném nástrojem tracerpt.exe nebo v Prohlížeči událostí jako desítkové číslo. Vývojáři budou muset ručně převést desítkové číslo na šestnáctkové číslo, aby v některých případech lépe interpretoval kód chyby.