(受限制或无连接)针对无法获取正确ip地址的Winsock修复工具
--------------------------------------------------------------------------------
当用户或者恶意程序破坏了下列文件,则不能通过dhcp正常获得ip,本地连接显示有[屏蔽]惊叹号!
mswsock.dll----->tcpip
winrnr.dll----->ntds
nwprovau.dll----->nwlink ipx/spx/netbios compatible transport protocal
rsvpsp.dll----->(protocal handler)
其他表现如下:
1.打开web页,显示dns错误,无法打开该页面
2.ping 127.0.0.1成功,但显示ping * ...... (注意这里不显示本地主机名,显示为*)
3.ftp ip 回车后,只显示socket,无任何其他提示
4.ping
www.0dsj.com 或者某个网站,提示无法找到
解决方法:
下为不同版本系统的修复程序,到百度搜索一下!
--------------------------------------------------------------------------------
WinsockXPFix.exe(Windows XP/NT winsock 修复程序)
sockfix.exe (Windows 98,98SE,ME winsock 修复程序)
W95ws2setup.exe (Windows 95 修复程序)
--------------------------------------------------------------------------------
不能上网问题解决(受限制或无连接)
当间谍软件破坏了你的Windows系统
一般来说,当间谍软件从Windows中清除后,最常见的系统错误就是DNS错误。在这种情况下,用户可以利用IP地址来察看网页,但是用域名就不行了。如果试图在IE中使用域名访问站点,IE会显示“该页无法显示”。
要知道为什么当间谍软件被清除后会有如此后果,你应该先了解windows是如何让你的电脑与Internet相连的。也许你知道,Windows通过利用TCP/IP协议与互联网通信,而Windows利用TCP/IP协议的机制被称作Winsock。
Winsock并不只是一个单独的文件,而是通过一系列分层的结构实现TCP/IP协议的,就像一个链子。如果用户将链子中的一环移开,Winsock的功能就会受到影响,轻则Internet连接出现某种问题,重则使电脑断开与Internet的连接。
某些间谍软件利用了Winsock,这样做有不少好处。首先,间谍软件看上去就像操作系统的一部分,因此比其它类的间谍软件更难被发现。第二,如果间谍软件核心进入了Winsock链,那么它就获得了相当大的权力,可以随意监控电脑与互联网的通信。最后,如果间谍软件核心能够骗过Windows,让它相信其是系统的一部分,那么这个间谍软件就不仅能在当前用户下工作了。因为在大多数情况下,操作系统和它的组件在该电脑的所有用户中都是有权限的。
因此事情就变得比较棘手了,比如你可以想象间谍软件已经渗入到操作系统并进入Winsock链中,而此时运行间谍软件清除工具虽然可以将间谍软件清除掉,但同时也破坏了winsock链的正常状态,从而影响了电脑与Internet的连接。在这种情况下,很多人都会选择重新安装Windows系统以便覆盖目前受损的系统,因为重新安装系统可以将丢失的系统文件补上,这样应该可以让Winsock链恢复正常。不过很不幸,当重新安装后你会发现,问题仍然没有得到解决。为什么呢?
这是由于Windows是一种可以升级和更新的系统,而Winsock链上的各个文件并不属于Windows的核心文件,而是通过注册表调用的。当用户重新安装操作系统覆盖原来的操作系统时,Setup程序会覆盖系统文件,但注册表中所有客户自行定义的内容则不会被修改。这意味这假如间谍软件在两个Winsock组件间插入了内容,那么就算间谍软件模块被清除了,并且系统也重装了,但注册表依然会调用这个间谍软件模块。
解决这个问题的唯一办法就是重建Winsock链并纠正注册表中与Winsock相关的内容。需要注意的是,修改注册表具有一定风险,一个错误的修改可能会导致系统或者应用程序损坏。因此在做以下操作前,我强烈建议用户先备份注册表。
要手动修改Winsock,需要在注册表中找到并删除以下两个键:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
删除这两个键后,你需要关闭注册表编辑器并重新启动电脑。当重启动时,Windows会在注册表中搜寻你刚才删除的那两个键,当发现找不到该键时,系统就会自行建立正确的键,这个问题也就得到了解决。
当系统重启后,你需要重新安装TCP/IP协议。右键点击网络连接并选择Properties 项,然后系统会列出连接协议列表。现在点击Install按钮并选择Protocol,然后点击Add。之后点击Have Disk并输入C:\Windows\inf(假设C:\Windows是你的Windows系统路径)。从列表中选择Internet Protocol (TCP/IP)项,并点击OK。重新启动电脑。
虽然这种方法可以修复错误,不过对一般用户来说可能有些困难。下面我介绍一种更简单的修复Winsock错误的方法。实际上,它是某个电脑高手为了快速修复这一错误而制作的免费小工具,名为Winsock Fix,由于它也是利用修改注册表的方式完成修复错误的工作,因此我依然建议用户在使用前备份注册表。
--------------------------------------------------------------------------------
要确定症状是否由 Winsock2 注册表项的问题引起,请使用以下方法。
方法 1:使用 Netdiag 工具
要使用 Netdiag 工具,您必须安装 Microsoft Windows XP 支持工具。为此,请按照下列步骤操作。
注意:? 如果已经安装了支持工具,请直接执行本部分的第二步。
? 如果未安装支持工具并且没有 Windows XP 安装 CD,请转到“方法 2”。
1. 插入 Windows XP 安装 CD,然后找到 Support\Tools 文件夹。
2. 双击“Setup.exe”文件。
3. 按照屏幕上的步骤操作,直至看到“请选择安装类型”屏幕。
4. 在“请选择安装类型”屏幕上,单击“完全”,然后单击“下一步”。
安装完成后,请按照下列步骤操作:1. 单击“开始”,单击“运行”,键入 Command,然后单击“确定”。
2. 键入 netdiag /test:winsock,然后按 Enter。
Netdiag 工具将返回若干网络组件(包括 Winsock)的测试结果。要了解该测试的更多详细信息,请在以下 netdiag 命令结尾处添加 /v:netdiag /test:winsock /v
方法 2:使用 Msinfo32 程序
注意:只有在没有 Windows XP 安装 CD 并且未安装支持工具时,才应使用此方法。 1. 单击“开始”,单击“运行”,键入“Msinfo32”,然后单击“确定”。
2. 展开“组件”,展开“网络”,然后单击“协议”。
3. “协议”下有 10 个节。如果 Winsock2 注册表项未损坏,则节标头应包含以下名称: ? MSAFD Tcpip [TCP/IP]
? MSAFD Tcpip [UDP/IP]
? RSVP UDP Service Provider
? RSVP TCP Service Provider
? MSAFD NetBIOS [\Device\NetBT_Tcpip...
? MSAFD NetBIOS [\Device\NetBT_Tcpip...
? MSAFD NetBIOS [\Device\NetBT_Tcpip...
? MSAFD NetBIOS [\Device\NetBT_Tcpip...
? MSAFD NetBIOS [\Device\NetBT_Tcpip...
? MSAFD NetBIOS [\Device\NetBT_Tcpip...
如果名称与此列表中的内容有任何不同,则说明 Winsock2 注册表项已经损坏,或者您安装了第三方加载项(如代理服务器软件)。
如果安装了第三方加载项,则加载项的名称将替换列表中的字母“MSAFD”。
如果列表的内容超过 10 个节,则说明安装了第三方加载项。
如果少于 10 个节,则说明缺少信息。
注意:这些条目所代表的是仅装有 TCP/IP 协议的安装。您可能有一个正在工作的 Winsock,如果安装了另一个协议,则可能会看到其他条目。例如,如果安装 NWLink I[屏蔽]/S[屏蔽],您将另外看到 7 个节,也就是总共 17 个节。下面的示例展示了一个新的节标头:
MSAFD nwlnkipx [I[屏蔽]]
通过安装 NWLink I[屏蔽]/S[屏蔽] 创建的每个新节也以“MSAFD”开头。因此,仍然只有两个不以这些字母开头的节。
如果 Netdiag 测试失败,或者,如果通过查看 Msinfo32 信息确定了 Winsock 的损坏,您必须使用下一部分的步骤修复 Winsock2 注册表项。
如何恢复损坏的 Winsock2
带 Service Pack 2 的 Windows XP
要在安装了 Windows XP Service Pack 2 (SP2) 的情况下修复 Winsock,请在命令提示符处键入 netsh winsock reset,然后按 Enter。
注意:运行此命令后请重新启动计算机。此外,对于运行 Windows XP SP2 的计算机,还有一个新的 netsh 命令可用于重新构建 Winsock 注册表项。有关更多信息,请访问下面的网站:
http://www.microsoft.com/china/t ... ntain/sp2netwk.mspx (
http://www.microsoft.com/china/t ... tain/sp2netwk.mspx)
警告:在运行 netsh winsock reset 命令时,访问或监视 Internet 的程序(如防病毒程序、防火墙或代理客户端)可能会受到不良影响。如果执行此解决方案后某个程序无[屏蔽]常工作,请重新安装该程序以恢复功能。
注意:如果这些步骤都无法解决问题,请执行下一部分的步骤。
不带 Service Pack 2 的 Windows XP
如果要在未安装 Windows XP SP2 的情况下修复 Winsock,请删除损坏的注册表项,然后重新安装 TCP/IP 协议。
第 1 步:删除损坏的注册表项
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,有可能会导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。
有关如何备份注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 (
http://support.microsoft.com/kb/322756/) 如何在 Windows XP 和 Windows Server 2003 中备份、编辑和还原注册表
1. 单击“开始”,然后单击“运行”。
2. 在“打开”框中,键入“regedit”,然后单击“确定”。
3. 在注册表编辑器中,找到以下注册表项,右键单击每一项,然后单击“删除”:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
4. 当提示您确认删除时,单击“是”。
注意:删除 Winsock 注册表项后请重新启动计算机。这样做可以让 Windows XP 操作系统为这两个注册表项创建新的 shell 条目。如果在删除 Winsock 注册表项后未重新启动计算机,则下一步将无[屏蔽]常进行。
第 2 步:安装 TCP/IP
1. 右键单击网络连接,然后单击“属性”。
2. 单击“安装”。
3. 单击“协议”,然后单击“添加”。
4. 单击“从磁盘安装”。
5. 键入 C:\Windows\inf,然后单击“确定”。
6. 在可用协议列表中,单击“Internet 协议 (TCP/IP)”,然后单击“确定”。
7. 重新启动计算机。