Netsh Winsock Reset Command(2021 年版):完整指南

您是否在使用軟件(如電子郵件客戶端和瀏覽器)時遇到 Windows 網絡連接問題?有時,這些問題源於網絡配置損壞。 netsh winsock reset 命令會將重要的網絡設置重置為其默認值,通常可以修復這些網絡問題!

在本文中,您將了解如何重置 Winsock 目錄,這是一個存儲網絡設置的數據庫,在其中不正確的配置和惡意軟件會影響您的網絡連接。繼續閱讀,了解修復網絡連接的實用技巧以及這個神秘的 Winsock 術語是什麼!

先決條件

本文將是一個教程。如果您打算一步一步地跟隨,請使用任何支持的 Windows 版本以及本地管理權限。

Winsock 是什麼?

基於 伯克利 UNIX 插座 接口,Winsock 是一個應用程序編程接口(API),用於協調不同的網絡協議之間的通信,例如網絡瀏覽器和實際的網絡設備。

下面包括一個優秀的圖表,展示了 Winsock wsock32.dll 函式庫在 Windows 網絡堆棧中的具體位置。

Winsock Flowchart

除了充當 API 的角色外,Winsock 還將其設置存儲在一個稱為 Winsock 目錄 的數據庫中。在 Windows 10 中,該目錄同時存儲 命名空間提供者,提供了 Winsock 與 DNS 等服務之間的映射,以及基礎服務提供者,它提供了有關網絡協議(如 TCP/IP)的詳細信息。

為什麼需要“重置” Winsock?

有時 Winsock 目錄中會包含不正確的項目或變得損壞。通過在 Windows 命令提示符中執行 netsh winsock reset 來執行 Winsock 重置將會將 Winsock 目錄和相關的註冊表設置為其默認值。相關的註冊表設置位於以下路徑。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9

那麼為什麼要執行 Winsock 重置呢?

  • 因為有惡意軟件或廣告軟件使用 Winsock 來干擾用戶與互聯網之間的通信。
  • A network device is incorrectly installed or removed.
  • 註冊表或文件系統問題損壞了 Winsock 目錄。

A real-life example of Winsock malware is HackTool.Win32.Proxifier.A, from the Trend Micro Threat Encyclopedia. Don’t worry, this won’t download any malware!

在Windows Server 2012和Windows Vista之前,錯誤的設置和惡意軟體通常存在於Winsock目錄中,如本文後面詳細描述的分層服務提供者(LSP)。在最新版本的Windows中,LSP已經被廢棄,功能已轉移到Windows篩選平台中。

Winsock問題不再經常出現,但仍然可能發生!請繼續閱讀,了解如何修復安裝不正確的網絡設備或損壞的Winsock目錄。

如何使用netsh winsock reset重置Winsock

最好通過Windows命令行工具netsh來重置Winsock。netsh命令顯示和修改運行計算機的網絡配置,並重置Winsock目錄。

在執行任何Winsock更改之前,應先保存更改後的設置的快照,如下面的步驟所示。

  1. 以系統管理員身份打開命令提示符

2.複製並運行下面顯示的命令,將Winsock目錄的結果保存到文件C:\winsock-before.txt中,然後重置Winsock目錄。

下面的命令假定您位於 C:\ 目錄,否則檔案將儲存到您的命令提示字元目前所在的目錄。

netsh winsock show catalog > winsock-before.txt

以下是已儲存的 Winsock 目錄的範例。您的目錄將類似於此,反映您的網路裝置和條目。

Saved Winsock Catalog entry file

3. 接著,執行以下命令重設 Winsock 目錄。

netsh winsock reset
Reset the Winsock catalog via the netsh winsock reset command.

在執行重設命令後,Protocol_Catalog9 登錄項被儲存到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog_Before_Reset。這些條目是二進位編碼的,因此在純文字中讀取要容易得多。

4. 現在再次拍攝 Winsock 目錄的快照,以記錄剛才所做的更改。

netsh winsock show catalog > winsock-after.txt

5. 重新啟動計算機以完成網路重設。

並非所有網路問題都可以使用 netsh winsock reset 命令解決,在這些情況下,netsh int ip reset 命令就派上用場了!繼續閱讀以了解何時以及在何處使用此命令。

使用 netsh int ip reset 重設 TCP/IP 設定

Winsock 目錄並不是唯一可能引起問題的網路設定。正如前面提到的,惡意軟體和不正確的設定通常存在於 Winsock LSPs 中,由於在較新版本的 Windows 中已經廢棄,它們現在不再那麼普遍。

更常見的是,存在於TCP/IP配置的網路問題。如果您遇到以下任何網路問題,請繼續閱讀以了解如何重設TCP/IP設定。

  • DNS查詢問題,前提是DNS配置正確。
  • DHCP IP地址分配問題,也許ipconfig /renew未正確運作。
  • 您的瀏覽器或電子郵件客戶端中的連接受限或無法連接。

在相同的本機管理員命令提示字元中,請按以下步驟重設TCP/IP設定。

  1. 在重設IP設定之前,執行以下命令以查看當前IP設定的快照。如果重設失敗,擁有先前網路設定的記錄將很有幫助。
ipconfig /all
Output from ipconfig /all

2. 在命令提示字元中執行以下命令以重設您的IP設定。

netsh int ip reset

要保存重設命令的輸出,請使用像這樣的命令將輸出重定向到一個文件:netsh int ip reset > log.txt

當您使用netsh int ip reset命令重設TCP/IP設定時,將覆蓋以下註冊表設定。

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 
 SYSTEM\CurrentControlSet\Services\DHCP\Parameters
Output from netsh int ip reset

3. 请再次使用ipconfig /all命令验证您的网络设置,例如IP地址、默认网关和DNS设置。

进一步阅读和下一步操作

网络是一个复杂的主题,涉及许多潜在问题,但以下是两个可能有帮助的附加资源。

虽然并非所有网络问题都可以通过执行netsh winsock resetnetsh int ip reset命令解决,但这两个命令都是一个很好的起点!

Source:
https://adamtheautomator.com/netsh-winsock-reset/