网页不能打开但是可以浏览,主要是由于网络连通性正常和域名解析或者应用程序层访问出现问题所导致的不同步。这时微信、视频软件等依靠的是IP直接连接或者是UDP协议的应用程序仍然可以正常使用,而浏览器这样的程序需要通过DNS解析、HTTP协议栈以及本地设置来工作的时候就全部瘫痪了——原因可能是DNS服务器没有回应、系统的代理被错误地开启、主机名被非法修改、浏览器用户的个人信息遭到破坏或者是TCP/IP协议栈出现混乱等等。这些问题并不会切断物理上的联系,但是会准确地阻止网页的加载过程,在这种情况下就是所谓的“通道没有中断但是门锁错了”的情况。

首先检查一下DNS解析有没有问题
打开命令提示符(Win)或者终端(Mac),分别输入以下命令进行测试:Ping -n 1 www.baidu.com 或者 Ping -c 1 www.baidu.com 如果出现“不能解析主机名”或者超时的情况,并且用 ping 14.215.177.39 可以正常连接到百度服务器的话,那么就可以判断出是 DNS 故障了。这时需要马上更换为高可用公共 DNS:对于 Windows 用户来说,在网络适配器属性里选择 IPv4 设置,在首选 DNS 中填入 223.5.5.5,在备用 DNS 中填入 119.29.29.29;而对于 Mac OS 用户而言,则需在系统偏好设置 -> 网络 -> 详细信息 -> DNS 位置添加这两个选项并且放在最前面的位置上。此组 DNS 由中国电信和中国联通共同维护管理,在国内的查询速度可以达到 8-10 毫秒左右,并且没有被篡改过的记录,在实际使用过程中能够有效解决大部分域名无法访问的问题。
第二部分要排除代理和hosts双重干扰源
首先检查系统的代理设置,在Windows中可以找到它的位置在设置->网络与互联网->代理,并且要保证“自动检测设置”被打开,“使用代理服务器”被关闭;对于Mac OS来说,则需要进入系统偏好设置->网络->高级->代理来查看HTTP、HTTPS以及SOCKS代理的状态是否正确;接着再找一下hosts文件的位置,在Windows下是C:\Windows\System32\Drivers\Etc\hosts,在Mac OS下则是/private/etc/hosts,用管理员权限打开记事本并编辑该文件的时候要把所有的非#开头的内容全部删掉只留下“127.0.0.1 localhost”,并且一定要选择ANSI或者UTF-8无BOM这样的编码方式来保存以免因为格式问题而使系统无法加载这个文件。
第三部分是重新构建浏览器底层运行环境
关闭所有浏览器进程之后用隔离的方式创建一个新的干净的配置文件:对于使用Chrome浏览器的用户来说,在命令行中输入“chrome.exe --user-data-dir=C:\Users\empchrome_clean”,而对于使用Firefox浏览器的用户则在命令行里输入“firefox.exe -profile C:\Users\empfirefox_clean -no-remote”。如果新打开的网页可以正常地访问到百度、知乎等网站的话,那么说明原来的用户数据文件夹以及其中包含的各种扩展程序、缓存索引和偏好设置都已经损坏了。这时就可以把书签和密码导出来,并且彻底删除掉原来的“User Data”文件夹来实现重置的目的。
第四部分是重新设置网络协议栈和更新本地缓存
对于Windows用户来说,在CMD窗口里以管理员的身份输入以下三个命令并按回车键:第一个是“netsh int ip reset”,用来清除IPv4设置;第二个是“netsh winsock reset”,用来恢复套接字组件;第三个是“netsh int ipv6 reset”,用来同步处理IPv6栈。每个命令执行完毕之后都要等出现“确定”的提示信息再继续下一个命令的操作直到所有命令都完成之后才需要重新启动计算机。对于使用Mac OS系统的用户而言,则要在终端里面依次输入如下两条指令来刷新DNS缓存和重启多播DNS服务:第一条指令为“sudo dscacheutil -flushcache”,第二条指令为“sudo killall -HUP mDNSResponder”。这两个操作可以解决由于驱动冲突或者系统升级所造成的协议栈堵塞的问题。
第五种方法是用交叉验证来排除外围设备的影响
把手机和电脑都连到同一个无线网络上,然后去浏览同样的网页;如果手机也不能上网的话,那么问题就出在路由器或者光猫上了,在此情况下可以先关掉光猫三分钟左右后再关掉路由器看看WAN口指示灯有没有一直亮着的情况出现;如果只有一台设备不能上网的话,可以用手机热点把网络分享给这台设备试一试看能不能恢复正常;如果还是不行的话,那么可能是该无线网络的DHCP分配有问题或者是DNS被污染了,在这种情况下可以登录到路由器的管理界面中关闭一些与DNS劫持相关的设置并且把LAN口的DNS地址改为223.5.5.5。
前五步可以解决绝大多数不能上网也不能打开网页的问题,在此过程中所用的方法都是依照官方的技术说明以及各大厂家的支持方案来进行的,并不需要借助任何第三方软件就可以实现。



留言 · 0
还没有留言,说点什么吧
写留言