Kontrola śledzenia usługi Winsock
Śledzenie winsock można kontrolować przy użyciu jednej z następujących metod:
Narzędzia wiersza polecenia
Dwa narzędzia wiersza polecenia są dołączone do systemów Windows Vista i Windows Server 2008, które są używane do kontrolowania śledzenia i konwertowania binarnego pliku dziennika śledzenia na czytelny tekst.
Narzędzie logman.exe służy do uruchamiania lub zatrzymywania śledzenia usługi Winsock.
Narzędzie tracerpt.exe służy do konwertowania pliku dziennika śledzenia binarnego na czytelny plik tekstowy.
Podgląd zdarzeń
Podgląd zdarzeń systemu w Windows Vista i nowszych można również użyć do włączenia śledzenia Winsock. Podgląd zdarzeń jest dostępny w obszarze Narzędzia administracyjne z menu Start.
Korzystanie z narzędzia logman i tracerpt
Śledzenie zdarzeń sieciowych winsock jest domyślnie wyłączone w systemie Windows Vista i nowszych.
Następujące polecenie uruchamia śledzenie zdarzeń sieci winsock na komputerze, ustawia nazwę sesji śledzenia zdarzeń na mywinsocksession i wysyła dane wyjściowe do binarnego pliku dziennika o nazwie winsocklogfile.etl:
logman uruchom -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
Pliki dziennika są tworzone w bieżącym katalogu z nazwami w postaci winsocklogfile_000001.etl
Następujące polecenie zatrzymuje powyższe śledzenie Winsock na komputerze dla sesji o nazwie mywinsocksession:
logman zatrzymaj -ets mywinsocksession
Binarny plik dziennika zostanie zapisany w lokalizacji określonej przez parametr –o. Aby przetłumaczyć plik binarny na czytelny plik tekstowy, tracerpt.exe jest używany:
tracerpt.exe <nazwę pliku etl> –o winsocktracelog.txt
Jeśli preferowany jest plik wyjściowy zawierający kod XML, a nie zwykły tekst, używane jest następujące polecenie:
tracerpt.exe <nazwa pliku .etl> –o winsocktracelog.xml –of xml
Śledzenie zmian katalogu winsock jest domyślnie włączone w systemie Windows Vista i nowszych.
Notatka
Dostawcy usług warstwowych są przestarzali. Począwszy od Windows 8 i Windows Server 2012, używaj Platformy Filtrowania Windows Windows.
Następujące polecenie uruchamia śledzenie zmian katalogu Winsock dla dostawców usług warstwowych (LSP) na komputerze, ustawia nazwę sesji śledzenia zdarzeń na mywinsockcatalogsession i wysyła dane wyjściowe do pliku dziennika binarnego o nazwie winsockaloglogfile.etl:
logman uruchom -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
Pliki dziennika są tworzone w bieżącym folderze z nazwami plików według wzoru winsockcataloglogfile_000001.etl
Następujące polecenie zatrzymuje powyższe śledzenie Winsock na komputerze dla sesji o nazwie mysession:
logman zatrzymać -ets mywinsockcatalogsession
Binarny plik dziennika zostanie zapisany w lokalizacji określonej przez parametr –o. Aby przetłumaczyć plik binarny na czytelny plik tekstowy, tracerpt.exe jest używany:
tracerpt.exe <nazwę pliku etl> –o winsockcatalogtracelog.txt
Jeśli preferowany jest plik wyjściowy zawierający kod XML, a nie zwykły tekst, używane jest następujące polecenie:
tracerpt.exe <nazwa pliku .etl> –o winsockcatalogtracelog.xml –of xml
Uruchamianie śledzenia zdarzeń sieciowych Winsock za pomocą podglądu zdarzeń
Po otwarciu Podglądu zdarzeń, okienko po lewej stronie zawiera listę zdarzeń. Otwórz dzienniki aplikacji i usług i przejdź do Microsoft\Windows\Winsock Network Event jako źródła i wybierz pozycję Operational.
W panelu akcji wybierz właściwości dziennika i zaznacz pole wyboru Włącz rejestrowanie. Po włączeniu rejestrowania można również zmienić rozmiar pliku dziennika, jeśli jest to konieczne.
Śledzenie zdarzeń sieciowych Winsock jest teraz włączone, a wszystko, co musisz zrobić, to kliknąć opcję Odśwież, aby zaktualizować listę zarejestrowanych zdarzeń. Aby zatrzymać rejestrowanie, po prostu usuń zaznaczenie tego samego przycisku radiowego.
Może być konieczne zwiększenie rozmiaru dziennika w zależności od liczby zdarzeń, które chcesz zobaczyć. Jedną z wad korzystania z Podglądu zdarzeń do śledzenia Winsock jest to, że nie ładuje wszystkich zasobów tekstowych, co sprawia, że komunikaty wyświetlane w polu Opis (po wybraniu zdarzenia) są czasami trudne do odczytania. Na przykład argument, który powinien być sformatowany w systemie szesnastkowym, będzie wyświetlany w postaci dziesiętnej. Można jednak wybrać kartę Szczegóły w opisie zdarzenia, która pokazuje nieprzetworzony wpis dziennika XML, który zazwyczaj zawiera argumenty łatwiejsze do zrozumienia.
Uruchamianie śledzenia zmian wykazu Winsock za pomocą Podglądu Zdarzeń
Po otwarciu Podglądu zdarzeń okienko z lewej strony zawiera listę zdarzeń. Otwórz dzienniki aplikacji i usług i przejdź do Microsoft\Windows\Winsock Catalog Change jako źródła i wybierz pozycję Operational.
W okienku akcji wybierz Właściwości rejestrowania i zaznacz pole wyboru Włącz rejestrowanie. Po włączeniu rejestrowania można również zmienić rozmiar pliku dziennika, jeśli jest to konieczne.
Śledzenie zmian Wykazu Winsock jest teraz włączone i wszystko, co musisz zrobić, to nacisnąć opcję Odśwież, aby odświeżyć listę zarejestrowanych zdarzeń. Aby zatrzymać rejestrowanie, po prostu usuń zaznaczenie tego samego przycisku radiowego.
Może być konieczne zwiększenie rozmiaru dziennika w zależności od liczby zdarzeń, które chcesz zobaczyć. Jedną z wad korzystania z Podglądu zdarzeń do śledzenia Winsock jest to, że nie ładuje wszystkich zasobów ciągów znaków, co sprawia, że komunikaty wyświetlane w polu Opis (po wybraniu zdarzenia) są czasami trudne do odczytania. Na przykład argument, który powinien być sformatowany jako szesnastkowy, będzie wyświetlany w formacie dziesiętnym. Można jednak wybrać kartę Szczegóły w opisie zdarzenia, która pokazuje nieprzetworzony wpis dziennika XML, zawierający argumenty, które są łatwiejsze do zrozumienia.
Interpretowanie dzienników śledzenia Winsock
Wszystkie zdarzenia śledzenia Winsock w dzienniku zawierają dwa typy informacji:
- System
- EventData
Informacje o systemie zawierają poziom rejestrowania, czas utworzenia wpisu dziennika, identyfikator zdarzenia reprezentujący typ zdarzenia, identyfikator procesu wykonywania, identyfikator wątku wykonania i inne informacje o systemie. Poziom dziennika 4 w śledzeniu Winsock reprezentuje rejestrowanie zdarzeń informacyjnych. Poziom dziennika 5 w śledzeniu Winsock oznacza szczegółowe rejestrowanie zdarzeń.
Identyfikator procesu wykonywania i identyfikator wątku w informacjach systemowych wskazują proces i wątek, który był uruchomiony w momencie wystąpienia zdarzenia. W wielu przypadkach będzie to reprezentować jądro lub wątek systemowy lub proces roboczy, zamiast wątku trybu użytkownika i procesu aplikacji. Dlatego to pole zwykle nie jest bardzo przydatne.
Każdy typ zdarzenia śledzenia Winsock ma unikatowy identyfikator zdarzenia w sekcji systemowej zarejestrowanych danych. Te identyfikatory zdarzeń można łatwo użyć do filtrowania pliku dziennika pod kątem określonych zdarzeń śledzenia Winsock.
Dane zdarzenia zawierają informacje specyficzne dla typu zdarzenia.
Parametr Procesu w informacjach o danych zdarzenia jest adresem struktury EPROCESS jądra dla procesu, a nie rzeczywistym identyfikatorem PID. Aby dopasować zdarzenie do identyfikatora PID w trybie użytkownika, pobierz wartość Procesu z informacji o danych zdarzeń z dowolnego wpisu dziennika i poszukaj wcześniej w dzienniku zdarzenia tworzenia gniazda z tą samą wartością Procesu. Po znalezieniu dopasowania ostatnim parametrem w danych zdarzenia tworzenia gniazda sieciowego jest identyfikator procesu trybu użytkownika, który utworzył gniazdo.
Parametr Address w informacjach o danych zdarzenia jest zwracany w niektórych zdarzeniach śledzenia Winsock. Parametr Adres reprezentuje adres IP, ale jest wyświetlany w pliku tekstowym utworzonym przez narzędzie tracerpt.exe lub w Podglądzie zdarzeń jako nieprzetworzone bajty lub liczba. Adresy IPv6 są wyświetlane w formacie szesnastkowym, więc są łatwiejsze do zrozumienia. Adresy IPv4 są wyświetlane jako duża liczba dziesiętna. Deweloperzy będą musieli ręcznie przekonwertować nieprzetworzone bajty adresu IPv4 na bardziej znaną notację adresów IPv4 kropkowaną-dziesiętną, aby lepiej interpretować wartość.
Parametr Error w danych dotyczących zdarzenia jest zwracany w niektórych zdarzeniach śledzenia Winsock. Parametr Error ma postać NTSTATUS lub HRESULT kodu błędu. Ten parametr błędu jest wyświetlany w pliku tekstowym utworzonym przez narzędzie tracerpt.exe lub w Podglądzie zdarzeń jako liczba dziesiętna. Deweloperzy będą musieli ręcznie przekonwertować liczbę dziesiętną na liczbę szesnastkową, aby lepiej interpretować kod błędu w niektórych przypadkach.