Zarządzanie śladami przy użyciu protokołu Netsh
W systemie Windows można użyć netsh.exe
(w wierszu polecenia), aby włączyć i skonfigurować śledzenie sieci. W tej sekcji opisano niektóre polecenia netsh.exe
, które mogą pomóc w rozwiązywaniu problemów z śledzeniem, w tym nowe funkcje netsh trace
.
Notatka
Musisz uruchomić polecenia netsh
z wiersza polecenia z podwyższonym poziomem uprawnień.
Zbieranie śladów
Scenariusze to wstępnie zdefiniowane zestawy dostawców śledzenia, które można włączyć na potrzeby rozwiązywania problemów. Aby wyświetlić listę dostępnych scenariuszy związanych z siecią, wpisz netsh trace show scenarios (netsh trace show providers listuje każdego z dostępnych dostawców, w tym także te, które nie są istotne dla sieci).
Po zidentyfikowaniu scenariusza, który wygląda na istotny dla Twoich problemów, możesz wyświetlić listę wszystkich dostawców uwzględnionych w tym scenariuszu. Aby na przykład wyświetlić wszystkich dostawców włączonych w scenariuszu InternetClient, wpisz netsh trace show scenario internetclient.
Możesz rozpocząć śledzenie dla wszystkich dostawców w określonym scenariuszu lub zestawie scenariuszy. Aby na przykład uruchomić śledzenie dla wszystkich dostawców włączonych w scenariuszu InternetClient, wpisz netsh trace start scenario=internetclient. Aby przechwycić dostawców dla więcej niż jednego scenariusza, można określić wszystkie odpowiednie scenariusze, takie jak netsh trace start scenario=FileSharing scenario=DirectAccess. Należy pamiętać, że w danym momencie może być włączona tylko jedna sesja śledzenia; nie można jednocześnie przechwytywać informacji śledzenia z różnych zestawów dostawców w osobnych plikach.
Możesz również uruchomić ślad dla dodatkowych dostawców, którzy nie są uwzględniani w tym konkretnym scenariuszu. Na przykład możesz chcieć rozpocząć śledzenie dla wszystkich dostawców włączonych w scenariuszu sieci WLAN, a także dostawcy DHCP. W tym celu wpisz netsh trace start scenario=wlan provider=Microsoft-Windows-Dhcp-Client.
Możesz również wyświetlić więcej szczegółów na temat określonego dostawcy, wpisując netsh trace show provider a następnie nazwę dostawcy.
Aby wyświetlić wszystkie dostępne opcje i filtry, możesz wpisać netsh trace start /?.
Aby zatrzymać śledzenie, wpisz netsh trace stop.
Używanie plików wyjściowych
Po zatrzymaniu śledzenia domyślnie są generowane dwa pliki: plik dziennika śledzenia zdarzeń (ETL) i plik .cab.
Zdarzenia śledzenia są zbierane w pliku ETL, który można wyświetlić za pomocą narzędzi, takich jak Network Monitor. Plik ETL zostanie domyślnie nazwany nettrace.etl lub można określić inną nazwę, włączając tracefile=nazwa_pliku.etl podczas uruchamiania śledzenia.
Plik .cab zawiera szczegółowe informacje o oprogramowaniu i sprzęcie w systemie, takie jak informacje o karcie, kompilacja, system operacyjny i ustawienia bezprzewodowe. Plik .cab zostanie domyślnie nazwany nettrace.cab, chyba że określono inną nazwę, jak wskazano powyżej.
Ten plik .cab będzie zawierać dwa pliki, które zawsze będą miały taką samą nazwę. Report.etl to kolejna kopia tych samych informacji zawartych w pliku nettrace.etl. Plik report.html zawiera dodatkowe informacje o zdarzeniach śledzenia i inne zebrane informacje. Aby uzyskać jak najwięcej szczegółów, dołącz polecenie report = yes podczas rozpoczynania śledzenia.
Używanie filtrów w celu zmniejszenia ilości danych w pliku śledzenia ETL
Gdy przechwytywanie ma miejsce przez długi czas, plik śledzenia ETL może stać się bardzo duży. W scenariuszach, w których włączono wielu dostawców, co powoduje duży ruch, ograniczenia buforu ETW mogą spowodować usunięcie niektórych śladów. Oprócz tego zagadnienia zmniejszenie ilości danych w pliku śledzenia ETL może ułatwić rozwiązywanie problemów, zmniejszając ilość danych do przejrzenia.
Filtry śledzenia netsh mogą służyć do zmniejszenia rozmiaru pliku śledzenia ETL. Te filtry śledzenia to poziomy ETW i słowa kluczowe, które można zastosować do poszczególnych dostawców.
Aby wyświetlić listę filtrów, które można zastosować, wpisz netsh trace start /?
Przykładem filtru jest netsh trace start InternetClient provider=Microsoft-Windows-TCPIP level=5 keywords=ut:ReceivePath,ut:SendPath.
W tym przykładzie poziom jest ustawiony na 5, co oznacza, że zostanie wyświetlona maksymalna liczba zdarzeń. W poniższej tabeli przedstawiono dostępne ustawienia:
Poziom | Ustawienie | Opis |
---|---|---|
1 | Krytyczny | Zostaną wyświetlone tylko zdarzenia krytyczne. |
2 | Błędy | Zostaną wyświetlone zdarzenia krytyczne i błędy. |
3 | Ostrzeżenia | Zostaną wyświetlone zdarzenia krytyczne, błędy i ostrzeżenia. |
4 | Informacyjne | Zostaną wyświetlone zdarzenia krytyczne, błędy, ostrzeżenia i zdarzenia informacyjne. |
5 | Gadatliwy | Zostaną wyświetlone wszystkie zdarzenia. |
Słowa kluczowe ut:ReceivePath i ut:SentPath filtrują wydarzenia, aby pokazać jedynie te śledzone na ścieżce odbiorczej lub nadawczej. Pełną listę słów kluczowych dla określonego dostawcy można znaleźć, wpisując netsh trace show provider a następnie nazwę dostawcy. Na przykład wpisanie netsh trace show provider Microsoft-Windows-TCPIP wyświetli informacje o dostawcy Microsoft-Windows-TCPIP, w tym listę słów kluczowych.
Platforma Netsh obsługuje również funkcję filtrowania pakietów (podobną do Network Monitor), gdy przechwytywanie pakietów jest włączone (poprzez ustawienie capture = yes). Filtrowanie pakietów może służyć do przechwytywania ograniczonej liczby pakietów w pliku śledzenia. Na przykład przechwytywanie rozpoczęcia śledzenia netsh = tak ipv4.address = x.x.x.x.x , gdzie x.x.x.x jest adresem IP, przechwytuje tylko pakiety z ruchem ipv4 z tym konkretnym źródłem lub adresem docelowym.
Aby uzyskać dodatkowe informacje na temat używania filtrowania pakietów, możesz wpisać netsh trace show capturefilterHelp.