有网却无法访问网站的解决办法

前几天上网遇到了一个问题,记录一下解决过程。

什么问题:

电脑有网,但是却访问不了网站。

发现根源:

首先,访问不了网站,我就想是不是网络的问题。于是,我就进入 CMD 命令行(Win + R)打算 ping 一下。结果,ping 网关和其它 ip 没问题,ping 网站的 ip 也没问题,ping域名不行。于是,就可以知道是有网的,那就只能是 DNS 域名解析的问题了。
有网却无法访问网站的解决办法

问题原因:

原因可能是本地 DNS 无法解析导致的,造成该问题的因素可能有多种,安全防护类软件、病毒、优化或清理等导致本地 DNS 解析文件被清除或更改,DNS 缓存问题,Winsock 目录问题等。

解决过程:

  1. 命令行输入 nslookup 按回车,就可以看到自己的 dns 服务器相关情况,然后接下来输入你要 ping 的网站的域名,结果看看是不是请求超时(Time Out)如果是,接着往下走
    有网却无法访问网站的解决办法
  2. C:\Windows\System32\drivers\etc 路径下用记事本看下 hosts 文件是否被修改。如果 hosts 文件没有域名强制解析记录则不用理会,如有请删除修改。
    有网却无法访问网站的解决办法
  3. 最后在 cmd 输入:ipconfig /flushdns 释放 DNS 缓存。
    有网却无法访问网站的解决办法
  4. 输入:netsh winsock reset 重置 Winsock 目录。
    有网却无法访问网站的解决办法
  5. 重启再 ping 网站验证。
    有网却无法访问网站的解决办法

相关知识:

(1)DNS 域名解析协议

简单来说,DNS 协议就是用来将域名与 IP 地址进行相互转化的。域名就是平时我们用浏览器上网时打开的网址,比如: www.baidu.com。但是,实际上在网络层访问的是 www.baidu.com 对应的公网 IP ,比如上边 ping 百度时显示的 39.156.66.141。他们两者的转换就需要用到 DNS 协议。

(2)Winsock 重置

Winsock 是 Windows 网络编程接口,Winsock 重置就是将 Winsock 恢复到初始化状态。用以解决由于软件冲突、病毒原因造成的网络参数错误问题。