Netsh Winsock Reset 命令(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 LSP中,由于在较新版本的Windows中弃用,它们已不再如此普遍。

更常见的是,TCP/IP配置存在网络问题。如果您遇到以下任何网络问题,请继续阅读以了解如何重置TCP/IP设置。

  • DNS查找问题,前提是DNS配置正确。
  • DHCP IP地址分配问题,也许ipconfig /renew未正常工作。
  • 您的Web浏览器或电子邮件客户端中存在有限或无连接。

在相同的本地管理员命令提示符中,请按以下步骤重置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

验证您的网络设置,如IP地址、默认网关和DNS设置,可以再次使用ipconfig /all命令进行。

进一步阅读和下一步操作

网络是一个复杂的主题,可能存在许多潜在问题,但下面链接的两个额外资源可能会有所帮助。

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

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