共用方式為


使用 Netsh 來管理追蹤

在 Windows 中, netsh.exe 可以使用 [從命令提示字元] 來啟用和設定網路追蹤。 本節說明一些可協助解決追蹤問題的 netsh.exe 命令,包括具有新功能的 netsh trace

注意

您必須從提升許可權的命令提示字元執行 netsh 命令。

收集痕跡

預先定義的情境是由一組追蹤提供者組成,可啟用以便進行疑難排解。 若要顯示可用的網路相關案例清單,請輸入 netsh 追蹤顯示案例netsh 追蹤顯示提供者會列出每個可用的提供者 ,包括與網路無關的提供者)。

當您識別出與問題相關的案例時,您可以看到該案例中包含的所有提供者清單。 例如,若要查看 InternetClient 情境下啟用的所有提供者,請輸入 netsh trace show scenario internetclient

您可以在指定的案例或一組案例中啟動所有提供者的追蹤。 例如,若要針對在 InternetClient 案例下啟用的所有提供者啟動追蹤,請輸入 netsh trace start scenario=internetclient。 若要在多個場景中擷取提供者資料,您可以指定所有適當的場景,例如 netsh trace start scenario=FileSharing scenario=DirectAccess。 請注意,一次只能啟用一個追蹤會話;無法同時從不同檔案中的不同提供者集合擷取追蹤資訊。

您也可以針對未包含在該特定案例中的其他提供者啟動追蹤。 例如,您可能想要針對 WLAN 案例下啟用的所有提供者,以及 DHCP 提供者啟動追蹤。 若要這樣做,請輸入 netsh trace start scenario=wlan provider=Microsoft-Windows-Dhcp-Client

您也可以輸入 netsh trace show provider 後面接著提供者名稱,即可查看特定提供者的詳細資訊。

若要查看所有可用的選項和篩選,您可以輸入 netsh trace start /?

若要停止追蹤,請輸入 netsh 追蹤停止

使用輸出檔案

停止追蹤時,預設會產生兩個檔案:事件追蹤記錄檔 (ETL) 檔案和.cab檔案。

追蹤事件會收集在 ETL 檔案中,您可以使用網路監視器等工具來檢視。 ETL 檔案預設會命名為 nettrace.etl,或者您可以在啟動追蹤時加入 tracefile=filename.etl 來指定不同的名稱。

.cab檔案包含系統上軟體和硬體的豐富資訊,例如適配卡資訊、組建、操作系統和無線設定。 除非如上所示指定其他名稱,否則.cab檔案預設會命名為 nettrace.cab。

這個.cab檔案將包含兩個檔案,一律具有相同的名稱。 Report.etl 是 nettrace.etl 中包含的相同資訊的另一個複本。 report.html檔案包含追蹤事件的其他資訊,以及收集的其他資訊。 若要接收最可用的詳細數據,請在啟動追蹤時包含命令 報表 = 是

使用篩選來減少 ETL 追蹤檔案中的數據量

若擷取持續進行一段較長時間,ETL 追蹤檔案可能會變得非常龐大。 當啟用多個提供者導致高流量時,ETW 緩衝區限制可能會導致某些追蹤丟失。 除了此考慮之外,減少 ETL 追蹤檔案中的數據量,有助於藉由減少要檢閱的數據量,更輕鬆地進行疑難解答。

Netsh 追蹤篩選可用來減少 ETL 追蹤檔案大小。 這些追蹤篩選條件是可以套用至個別提供者的 ETW 層級和關鍵詞。

若要查看可套用的篩選清單,請輸入 netsh 追蹤啟動 /?

篩選器的範例是 netsh trace 開始 InternetClient provider=Microsoft-Windows-TCPIP level=5 keywords=ut:ReceivePath,ut:SendPath

在此範例中,層級會設定為5,這表示會顯示事件數目上限。 下表顯示可用的設定:

層級 設定 描述
1 重大 只會顯示重大事件。
2 錯誤 將會顯示重大事件和錯誤。
3 警告 將會顯示重大事件、錯誤和警告。
4 資訊性 將會顯示重大事件、錯誤、警告和參考性事件。
5 詳細資訊 所有事件都會顯示。

 

關鍵詞 ut:ReceivePath 和 ut:SentPath 會篩選事件,只顯示接收或傳送路徑上追蹤的事件。 輸入 netsh 追蹤顯示提供者,後面接著提供者名稱,即可找到 特定提供者 的完整關鍵詞清單。 例如,輸入 netsh 追蹤顯示提供者Microsoft-Windows-TCPIP 會顯示Microsoft-Windows-TCPIP 提供者的相關信息,包括關鍵詞清單。

當封包擷取開啟時,Netsh也支援封包篩選功能(類似於網路監視器)(藉由設定 擷取 = 是)。 封包篩選可用來擷取追蹤檔案中的有限封包數目。 例如,netsh trace start capture = yes ipv4.address = x.x.x.x,其中 x.x.x.x 是 IP 位址,這指令只會擷取來自或發往該特定來源或目的地位址的 ipv4 流量封包。

如需了解如何使用封包過濾的更多資訊,您可以輸入 netsh trace show capturefilterHelp