多年来,我一直遇到一个很奇怪的问题,我无法访问一些互联网网站。听起来不是很奇怪,但奇怪的是 - 似乎没有原因。
当我尝试 ping 这些网站时,它显示“一般失败”。当我尝试 telnet 到这些网站时,它显示“连接失败”,它甚至没有尝试。问题仅限于此 Windows 安装(我尝试了实时 Linux DVD),包括其他用户帐户。如果我没记错的话 - 以下是我尝试过的方法
- 所有主要供应商都提供了数十次病毒/恶意软件扫描 - 未发现任何异常
- 各种浏览器 - 没有区别
- 不同的 DNS 以及刷新 DNS 缓存 - 提供的 IP 无论如何都是正确的
- 检查了 hosts 文件 - 什么也没有
- 调整 MTU 以及 TCP 优化器中可用的其他网络设置 - 没有效果
- 通过代理连接 - 它们通过代理工作
- 确保这台计算机、路由器或我的 ISP 没有防火墙阻塞
- 已验证所有 Windows 文件 - 无损坏
- 尝试了不同的 NIC 驱动程序 - 没有效果
- 尝试了不同的 NIC - 没有效果
- 通过 wireshark 观察系统级数据包 - 首先是 dns 查询,它工作正常,然后什么都没有,数据包从未被发送
- 连接我的浏览器 winsock 来监控数据包 - 当连接到其他站点时,我会看到预期的流量,当尝试访问其中一个无响应的站点时,数据包永远不会被发送。
有些地址不起作用 - 微软服务器中的任何地址、ucla.edu、samsung.com。除此之外,计算机和互联网的其他部分都运行正常。
所以……问题一定出在数据包进入 winsock 和 NIC 驱动程序获取命令之间。有人知道这两者之间是什么样的管道吗?以及如何测试它?
我知道……最简单的解决方法就是重新安装 Windows,但我认为这是个任务!必须弄清楚发生了什么。
编辑:我尝试通过 Windows dll 跟踪数据包,旅程以 DnsApi 中的系统错误 11050 结束,这很奇怪,因为我使用 ip 地址进行 ping,所以理论上它甚至不需要 dns..?另外 - 忘了提一下,这里处理带有所有最新更新的 win 7。
答案1
尝试重置 TCP/IP(假设是 Windows 7)
- 打开命令提示符,单击“开始”,然后在“搜索程序和文件”框中键入 cmd。
- 在“程序”下,右键单击 CMD.exe 图标,然后单击“以管理员身份运行”。
- 出现“用户帐户控制”框时,单击“是”。
- 在命令提示符下,输入以下命令,然后按 Enter:
- netsh int ip reset c:\resetlog.txt
注意如果您不想指定日志文件的目录路径,请运行以下命令:netsh int ip reset resetlog.txt
- 重新启动计算机。