前言

断网,是仅次于断水、断电的危机,对于部分依赖于网络的人来说,可能重要性更加突出。这里主要谈一谈网络修复的方法与一些常见的故障。

正题

首先要知道怎么修复网络,就需要大致了解网络的运作方式,正如一个能够装机的人要会拆机、能够做网络防御的人要懂得网络攻击的原理。这里主要通过对几个名词的解析来大致描述网络的运作方式。

由于这里只打算大致讲一下网络的工作方式,过多的说明可能比不上形象的比喻。这里,我们把网络比作一个小区,假设这个小区每个房子都被编上了号码,可以通过这个号码快速、方便的找到对应的房间,然后每个房间都有一个名字,譬如说“花果山小区水帘栋王者之户”,这里我们特地不包含数字进去(现实中都是有编号的),是为了说明根据这个名字我们难以进行快速、准确的查找到指定的房间。如果这个房子主人没有换那么我们就能找到正确的要找的人,然而如果换了呢?那么我们可以通过房间主人的身份证进行确认,只要身份证不是伪造的或者别人的,那么找到的就是正确的。

这里,类比到网络中,我们的房间名“花果山xxx”就是一个主机名,房间的编号就是一个IP地址,而身份证则是对应的物理地址。

物理地址是有硬件自身因素决定的,一般不会变而且唯一,就像身份证一样,国家发行的,发了以后身份证号就不会变了。而ip地址则是电脑动态或者静态注册的,需要通过局域网相关服务器(DHCP服务器)的认证,就像你拿着身份证去办房产证一样,动态就是问业务员给我随便来一套舒服的房间,房间号由业务员“智能”分配,而静态则是“业务员,我就要着一个号码,铁了心了,别的都不要”。这实际上是ip的两种获得的途径,同时也引入DHCP服务器的概念(干什么吃的?管理分配ip的)。如果对自己的房间号不满意可以要求退了这个房间(退房无条件成立),然后换一个,因此这里可以看到,ip地址来确定一台电脑是暂时性的,譬如说一个满载的wifi上一个客户端断线,另外一个马上连上补上空缺,那么那个ip就更换了主人,就像你退房了,然后别人住进了这个房间,房间“易主”了。而主机名呢,则是你给自己的主机起的一个“独一无二”的名字(或者说在当前局域范围内保证不会与其他可达主机同名),为了确保独一无二,需要进行“注册”,譬如说服务器的域名注册,比如说www.baidu.com。

但是我们又知道,去访问一个网站是可以通过域名直接访问的,就像通过房间的名字可以找到房间,但是这个过程是怎么实现的呢?为了保证能高效查找,我们可以建立一个映射表,一个房间号对应一个房间编号(事实上就是这么做的),一个域名则是对应一个ip,通过域名可以直接找到ip,有了ip就可以方便快速的找到主机建立连接了。但是要不要每个计算机都用一个超大的表去存储“域名——ip”这个键值对呢?这样显然会造成巨大的浪费,而且在映射更新时(有的ip换域名了或者域名绑定了新的ip之类的)要发送大量的数据包,因为存在许多公共的键值对,只要存储在一个公共的地方就好了,这个地方对于所有计算机公开可访问,好的,于是DNS服务器就这样诞生了:我们使用一台dns服务器负责一片区域的主机的“域名——ip”映射关系,只要丢域名进去查询,就会返回对应的ip地址,这个过程有个专业的术语(DNS解析)。另一方面,我们有一些非公用的域名和ip对,或者想要获得与DNS服务器不同的映射关系,因此,我们需要一个文件(就是之前说的超级大的文件,这里因为只要存储几个特殊的映射就行了,所以很小)来存储它们,于是hosts文件就诞生了。还有一方面,如果我的电脑长期访问一个网站或者几个网站,那么我要每次访问都去DNS服务器查一下吗?服务器肯定会有意见,我们可以先把这些常用的网站的解析结果缓存起来,过一段时间失效了再去查,于是DNS缓存又诞生了。值得补充的是,DNS服务器本身也是一台电脑,而且存储量有限,实际上有很多DNS服务器,分为多级,上一级向下一级服务器提供DNS解析,也就是说,当下一级的DNS服务器解决不了了(自己也找不到这个域名的键值对),就向上级服务器请求支援,这样递归下去,直到顶级DNS服务器都解决不了,则返回域名不存在错误提示。总结一下,DNS查询的优先级:hosts文件>DNS缓存>DNS下级服务器>DNS上级服务器。

代理和VPN:代理简而言之就是一个中间人,譬如说我要买到北美的东西,自己又无法飞跃过去,那么需要无数的中间商人为我运过来,然后我如果要往那边投递什么多西也可以仍中间人的快递商为我寄送过去,实现通信。原来的直接通信是一种方式,通过中间人又是一种方式。两种方式选择一种,如果选择了一种方式,但是这种方式又不可达(譬如说中间人罢工了,代理服务器崩掉了),就会出现使用选择使用代理的都网络中断的情况。而VPN则是相当于私人隧道的东西,譬如说通过网络连接大洋彼岸,然后使用网络来通信,同样如果选择了不可用的VPN那么也会出现网络中断的情况。

通过对以上几个名词的解析,我们大概了解了联网以及上网是怎么回事了,首先我需要加入这个网络(连WIFI或者接有线),其次我需要获得一个合法的ip,然后才能建立通信。在上网时,我们在浏览器输入一个域名,首先通过一系列DNS解析获得对应主机的ip,然后两个ip之间建立通信,网络连通。

OK,原理了解了这里以后,就可以针对中间的环节进行分析了,网络故障的原因就是这条链出现了断路。

断路各层分析:

联网过程:

未加入网络:网线没插、网络不可用(譬如说把一个没开通网络的网线插进去)、网卡炸了、驱动炸了等,都直接导致无”已连接“字样出现等。

未正确获取ip:ip冲突(静态ip设置为已分配出去的ip或者动态分配出现差错,一个网段中不允许相同的ip,所以对方使用正常而你无法使用,特点为显示为“受限”)等。

已获取ip但是ip被ban:譬如说登录校园网wifi、宽带才能上网(可以简单的理解为没有登录被防火墙ban了,登录后放行)、某些绑定mac的路由认证等。

上网过程:

DNS解析出错:DNS解析的各个环节都可能出错。

浏览器或者系统代理、VPN设置出错:设置了不可用的代理或者VPN。

防火墙设置出错:被防火墙拦截。

正常工作需要使用的端口被禁:闭关锁国怎样对外交流?

服务禁用或者服务、应用程序出错:软件自身原因导致不能联网之类、winsock配置出错(winsock是windows为应用提供的网络访问操作的接口,一旦出错可能一大批应用都无法联网)。

原因分析完毕,开始寻求解决措施:

要修复一个故障,有以下几种思路:

1.还原到出问题之前的时候,变回你原来的样子!(时光倒流)

2.直接卸载重装,用新的可用的替换原来不可用的。(从头来过)

3.锁定问题的引起源头,实施定点修复。(真×修复)

其中第一点是完全看用户有没有这个备份的好习惯,如果有近期备份将会很方便,以极小的代价快速解决问题;

第二点则是万金油,不管你的旧(软件、系统)怎么样,换成新的,保证新的能用就呆胶布(不过对用户的影响最大);

第三点则是对用户比较友好的,但是对技术人员则是不那么友好,要求技术人员有较强的查找和解决问题的能力,不过这才是所谓“技术人员”,在“技术人员”中,有一类是工具boy,另一类是真×技术人员,工具boy只要知道怎么用工具(譬如说360断网急救箱之类的)就ok了,甚至原理可以完全小白,缺点就是只能处理工具所能处理的问题,整个人就是几件工具的集合;而真×技术人员则是真正处理问题的人,工具boy的工具也是真×技术人员的作品,所以这类人是真正伟大的人。

这里前两点我们就直接跳过了,没有什么技术含量,直接对第三点进行分析。

可以看到网络出现故障存在诸多原因和影响因素,但是经过分析,可以划分为不同层次的问题。同样,要解决问题,首先要锁定问题的根源出在哪个层次上。这里有一个经常被提起的ping检测法,可以进行不同层次的诊断检测,可以自上层向下层诊断,也可自下层向上层诊断,这里讲自下向上诊断。

ping命令这里我们不需要使用任何附加参数,仅仅诊断网络连通直接ping ip/域名即可。

1. ping 127.0.0.1,127.0.0.1是本机的回路地址,即localhost,是无论是否联网只要机器网络协议栈运作正常都可以ping通,该操作可以诊断电脑的tcp/ip协议栈是否正常运作,如果不正常卸载重装即可,还有可能是网卡出现松动、网卡损坏等物理因素问题。

2. ping 本机ip,本机ip可以用ipconfig查看,也可以在“网络连接与共享”中查看,该操作可以查看本机ip是否分配正确,如果ping不通,那么ip不可用或者ip冲突,首先查看ip使用的是动态ip还是静态ip,静态ip需要手动更改为可用的ip地址;动态ip则只需要运行ipconfig /release & ipconfig /renew释放并重新请求ip,通过将网卡禁用后启用也可以达到同样的效果;另一方面,如果网卡驱动出现问题也会导致该问题或者直接ipconfig显示没有ip,这时需要去设备管理器查看驱动运行情况,如果有x或者!号则需要启用或者卸载重装。

3. ping 网关ip,网关是在局域网与广域网之间的关口,譬如说某个学校内部可以存在局域网,学生可以方便访问校内资源,但是如果要访问百度等不在学校内的网站就需要一个具有路由功能的设备去转发它,这个就是网关。网关ip一般是路由器的LAN口ip,譬如说192.168.1.1就是家里路由的ip,也是网关ip。该操作可以诊断机器与网关的网络连通情况,如果ping不通,可能是网关ip设置出现错误,重新设置为正确的即可,还有一种情况是通过该ip找到的不是网关主机(ip与物理地址的映射出错,这里有个专业术语叫arp表,简而言之arp表就是存储在我的电脑里面某个ip对应的是哪一台电脑),还有可能是被网关禁止ping了。

4. ping 外部网络, 首先直接ping 114.114.114.114等确保能够在正常情况下ping通的ip地址,该操作检测与外网的连通情况,如果前面都能ping通,而这里ping不通,说明

a.故障有可能发生在网关到外网的区段内。

b.VPN设置出错,VPN与代理往往一起提及,但是这里有必要分开来,因为代理一般用于TCP协议,而ping采用的是ICMP协议,代理对ping一般不会造成影响,而VPN则会产生影响,如果设置了不可用的VPN,那么网络将会彻底瘫痪,而设置了不可用的代理则只会导致TCP协议的应用访问网络瘫痪,而其他协议的则正常不受影响(如QQ聊天采用的UDP协议)。

然后ping www.baidu.com等确保能够ping通的网址,如果直接ping ip可以ping通,而ping 网址出错,说明很可能是DNS解析出错,也就是www.baidu.com可能被解析为了错误的ip,解决方法:重新设置dns服务器ip,确保dns服务器设置正确(这里114.114.114.114和8.8.8.8是确保可用的DNS服务器—>通过ipconfig /flushdns清空DNS缓存—>查看本机hosts文件是否出现异常字段,该问题往往只会导致hosts文件中少数几个网站无法ping通,不会对于所有网站都无法ping通。

通过以上操作,我们可以诊断系统层的网络故障问题,其中前3项都可能与驱动和网卡相关,因此确保网卡驱动正常工作十分重要。以上操作都没有问题,那么可以保证主机是可以访问网络的,接下来进入服务和应用层的分析:

5.检测端口问题:有些网络端口(如80端口)关闭,通过netstat -ano命令可以查看端口开放情况。

6.winsock配置错误:winsock配置错误会导致使用winsock应用无法访问网络,通过netsh winsock reset可以重置winsock配置。

7. 防火墙问题:防火墙的设置不当可能造成网络被拦截,这里通过在防火墙设置中找到错误的规则或者直接恢复防火墙即可,netsh advfirewall reset也可以直接重置防火墙设置。

8.应用本身的问题:应用相关系统文件丢失、配置错误都有可能导致这个问题,最有效、省事的措施就是恢复至默认设置,如果还不行就彻底卸载然后重装。由于用户与浏览器的交互比较多,浏览器可能只是因为设置了不可用的代理(在高级设置里面可以找到代理设置选项),在这种情况下只要把代理设置正确或者取消代理即可。

以上即是排查网络问题的大致路线,前提是已经连上网(显示“已连接或受限“),当然,有些情况下是网络连接不了、返回错误数字,这时的措施为:

1.检测驱动,驱动出问题网络无法连接

2.检测网线、接口正常

3.检测网卡正常

4.检测网络相关服务已经开启(有些服务是连网所需的,如wlansvr服务,这些服务没有开启会出现问题,在任务管理器—服务中可以找到)。

5.返回错误数字直接搜索错误数字寻找解决措施即可。

9.还有一些问题,如网络连接图标消失、wlan连接显示不见了等,图标消失可以在个性化->任务栏中找到设置,连接消失则可能是在”网络适配器设置"中禁用了。

总结

总而言之,引起网络故障的因素很多,但是总的来看,都主要集中在硬件、驱动、协议、ip获取、dns解析、服务、代理和vpn上,其中驱动是问题的一大宗,很多网络问题都是驱动出错引起的,因此可以作为重点排查对象,然后ip和dns设置不当、dns缓存错误也是常见的问题,代理设置错误往往只局限在某个设置了代理的浏览器上,可以很快排查解决。用到的命令汇总:

ipconfig /all 查看ip、dns等

ipconfig /release 释放ip

ipconfig /renew 申请新的ip

ipconfig /flushdns 刷新dns缓存

netsh interface ipv4 reset 重置ip配置(一个顶楼上release和renew两个命令)

netsh advfirewall reset 重置防火墙设置

netsh winsock reset 重置winsock

ping ip或域名 检测网络连通

(还有部分通过命令设置ip和dns的可以在GUI下很方便的解决,这里不做多说)

ps.其中涉及到了部分网络协议的知识,博主对于这方面了解的还不深入,以上可能存在部分不准确或者谬误的地方,如果大家发现了也请批评指正。

【杂谈】网络修复杂谈相关推荐

  1. Complete Internet Repair(电脑网络修复工具)官方中文版V8.1.3.5222 | 网络修复工具使用后仍不能上网?快试试万能网络修复大师

    Complete Internet Repair 是一款短小精悍的专业电脑网络修复工具,能帮助大家快速便捷的修复因为TCP/IP设置错误.Winsock.DNS.IE浏览器设置错误等问题导致的网络故障 ...

  2. Windows XP网络修复的步骤

    <iframe align="top" marginwidth="0" marginheight="0" src="http ...

  3. Android杂谈--网络状态判断(3G/WIFI)

    在http://www.cnblogs.com/loulijun/archive/2012/02/03/2337230.html这篇文章中已经介绍了网络状态的判断,但是测试后发现用此方法只能够判断WI ...

  4. Linux环境下网络编程杂谈

    今天我们说说"Pre-网络编程".内容比较杂,但都是在做网络应用程序开发过程中经常要遇到的问题. 一.大端.小端和网络字节序 小端字节序:little-endian,将低字节存放在 ...

  5. 360网络修复工具_Win10网络图标不见了解决方法

    经常有网友反馈,电脑桌面右下角的网络图标不见了,有时候想要对网络进行相关设置,而找不到入口.下面以最新的系统为例,谈谈Win10网络图标不见了的原因与解决办法. Win10网络图标不见了怎么办? 如果 ...

  6. 360网络修复工具_为什么大家都在骂360,但是360依旧是很强?

    相信很多小伙伴也多多少少的听说过就是不要随便装360,因为装上360会如何如何.这些人往往说起来也是很有道理,我在以前上学的时候也是这么觉得,但是后来工作之后发现并不是这样. 360 先说一下360安 ...

  7. 天刀手游pc端显示服务器维护,天刀手游电脑版无法更新网络修复工具

    天涯明月刀手游电脑版更新失败修复工具是一款可以解决天涯明月刀手游电脑版更新失败问题的工具,最近很多玩家反映自己的游戏更新后无法打开,大家可以利用这款天涯明月刀手游电脑版更新失败修复工具修复网络来解决这 ...

  8. Win7网络修复,winsock/tcpip

    1.win7自带网络诊断提示没有安装一个或多个协议,ip地址为169.254.x.x,dns地址为空 2.修复winsock时,提示系统找不到指定的文件. 解决办法: 1. netsh int ip ...

  9. win10 21H1 无法连接到这个网络 修复记录

    1.起初 起初,因为电脑混乱不堪,1909版本的win10, 经常闪屏,奇怪的是,在操作时不闪屏,不动电脑,静置一会就给我闪屏,黑一下就恢复原样.怀疑是不是中了毒,像是截屏一样 再者,每次关机都关不掉 ...

  10. 【网络修复】浅谈 “Ping通” 的意思

    一.前言 在刚开始玩树莓派的时候,需要验证树莓派与电脑的网络连接是否成功,也就是俗称的"ping"一下. 二.技术实现 Ping的方法很简单,只要在终端输入:ping 网址,就可以 ...

最新文章

  1. 真正的AI内行盛会!3 天 3 位大神,29场专题论坛,200+位领域专家
  2. IBM发布未来五年五大科技预测
  3. OpenStack在keystone部分同步数据库报错Errno 13解决办法
  4. 零起点学算法82——数组中查找数
  5. 漫画| 一图带你看懂云原生
  6. 递归思想完成n皇后问题
  7. 【华为云技术分享】深入浅出Sqoop之迁移过程源码分析
  8. Linux操作系统原理与应用04:内存管理
  9. vscode 乱码_如何使用VS Code 编辑Keil项目(51/STM32)
  10. 《魔鬼搭讪学》读书笔记
  11. 车辆跟踪 matlab,车辆跟踪matlab
  12. es 安装拼音分词器 以及使用
  13. linux中的manifest的作用,Linux之puppet
  14. Kafka 的消息异常情况~追日
  15. html5 连接wifi,aWiFi是什么?
  16. D3.js之折线图动画
  17. word操作技巧:不同情况的文字统计方法
  18. Zbrush全套笔刷~
  19. 使用A*算法求迷宫最短路径问题
  20. STM32F103 SX1278 驱动

热门文章

  1. 华为服务器修改SN,华为光猫修改双模、SN序号、MAC地址方法
  2. Java单例模式双检锁原理
  3. 百度Web生态开花结果:Lavas等多项新技术帮助开发者效率提升
  4. C语言运算符使用错误【持续更新】
  5. ShellServiceObjectDelayLoad注册表键值作用
  6. 自制CMSIS-DAP下载器
  7. Tomcat9百度云下载
  8. Word 中几个较有用的宏
  9. 项目管理的五个过程和九大知识领域
  10. SecureCRT解压版使用