对于网络工程师来说,在平常工作中,最基础的工作能力就是要保证网络顺畅不出错误。但实际上,网络随时都可能发生故障,影响正常工作,从而导致网络工程师总是要背很多黑锅;所以快速解决网络故障已经成为网工的能力检验的标配了。
那如何才能快速解决网络问题呢?一般来说单位或者企业会安装网络故障管理软件,通过软件来管理和排除网络的故障。您做为我们的网工,一定要知道哪些网络故障问题,从而快速测试出这些问题。故小编今天给大家总结一下常见的网络故障问题以及命令。
一、网络故障分类总结
- 物理层故障
- 数据链路层故障
- 网络层故障
- 以太网络故障
- 广域网络故障
- TCP/IP故障
- 服务器故障
- 其他业务故障等
那么,网路发生故障的原因是什么呢?根据有关资料的统计,网络发生故障具体分布为:
- 应用层占3%;
- 表示层占7%;
- 会话层占8%;
- 传输层占10%;
- 网络层占12%;
- 数据链路层占25%;
- 物理层占35%。
引起网络故障的原因还有以下几种:
(1) 逻辑故障
逻辑故障中最常见的情况有两类:一类是配置错误,是因为网络设备的配置错误而导致的网络异常或故障。配置错误可能是路由器端口参数设定有错误,或路由器的路由配置错误,以至于路由循环找不到远端地址,或者是路由掩码设置错误等。另一类是一些重要进程或端口被关闭,主要是系统的负载过高,路由器的负载过高。
(2) 配置故障
配置错误也是导致故障发生的重要原因之一。配置故障主要表现在不能实现网络所提供的各种服务,如不能接入Internet,不能访问某种代理服务器等。配置故障通常表现为以下几种情况:
- 网络链路测试正常,而无法连接到网络;
- 只能与某些计算机通信,而不能与全部计算机进行通信;
- 计算机只能访问内部网络中的服务器,但无法接入Internet,这可能是路由器配置错误,也可能是交换机配置错误;
- 计算机无法登录至域控制器;
- 计算机无法访问任何其它设备。
(3) 网络故障
网络故障的原因是多方面的,一般分为物理故障和逻辑故障。物理故障,又称硬件故障,包括线路、线缆、连接器件、端口、网卡、网桥、集线器、交换机或路由器的模块出现故障。
(4) 协议故障
计算机和网络设备之间的通信是靠协议来实现的,协议在网络中扮演着非常重要的角色。协议故障通常表现为以下几种情况:
- 计算机无法登录至服务器
- 计算机在网上邻居中既看不到自己,也不能看到其他计算机或查找不到其它计算机;
- 计算机在网上邻居中能看到自己和其他计算机,但无法在局域网络中浏览web、收发email;
- 计算机无法通过局域网接入Internet;
- 与网络中其它计算机的名称重复,或者与其他计算机使用的IP地址相同。
(5) DDOS
(6) 网络管理员差错
网络管理员差错占整个网络故障的5%以上,主要发生在网络层和传输层,是由于安装没有完全遵守操作指南,或者网络管理员对某个过程没有给予足够的重视造成的。
(7) 海量存储问题
数据处理故障的最主要原因是硬盘问题。据有关报道,大约有超过26%的系统失效都归结到海量存储的介质故障上。
(8) 计算机硬件故障
大约有25%的故障是由计算机硬件引起的,如显示器、键盘、鼠标、CPU、RAM、硬盘驱动器、网卡、交换机和路由器等。
(9) 软件问题
软件引起的故障也不鲜见,表现为:
- 软件有缺陷,造成系统故障;
- 网络操作系统缺陷,造成系统失效。
(10) 使用者发生的差错
使用者没有遵守网路赋予的权限。例如:
- 超权访问系统和服务;
- 侵入其它系统;
- 操作其它用户的数据资料;
- 共享账号;
- 非法复制。
- 既有网络故障产生,那么就有网络管理。
网络故障管理一般包括4项:
- 对网络进行监测,提前预知故障;
- 发生故障后,找到故障发生的位置;
- 解决故障;
- 记录故障产生的原因,找到解决的方法;
二、常用的网络故障测试命令
常用的网络故障测试命令有ipconfig、ping、tracert、netstat和nslookup等。下面简单说明它们的基本用法。
1. ipconfig命令
使用ipconfig命令可以查看IP配置,或配合使用/all参数查看网络配置情况。ipconfig命令采用Windows窗口的形式来显示IP协议的具体配置信息。如果ipconfig命令后面不跟任何参数直接运行,程序将会在窗口显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等。还可以通过此程序查看主机的相关信息,如主机名、DNS服务器、节点类型等。其中网络适配器的物理地址在检测网络错误时非常有用。在命令提示符下输入ipconfig/?可获得ipconfig的使用帮助,输入ipconfig/all可获得IP配置的所有属性
命令参数介绍:
- “ ”:不带任何参数选项,则为每个已经配置了的接口显示IP地址、子网掩码和默认网关值。
- ?:进行参数查询;
- all:显示本机TCP/IP配置的详细信息;
- release:PHCP客户端手工释放IP地址;
- renew:DHCP客户端手工向服务器刷新请求;
- flushdns:清除本地DNS缓存内容;
- registerdns:DNS客户端手工向服务器进行注册;
- showclassid:显示网络适配器的DHCP类别信息;
- setclassid:设置网络适配器的DHCP类别。
单击“程序”--“运行”,输入cmd进入dos命令行窗口。在dos命令行窗口中输入ipconfig/all,如下所示
图中显示出了本机TCP/IP配置情况。如果显示出的IP地址不在网络的网段中,本机则无法与其它机器通信;如果网关、DNS配置有误,则本机不能访问外网计算机,也不能上网。
使用/release和/renew参数重新从DHCP服务器上获取IP地址。
2. ping命令
ping命令主要是用来检查路由是否能够到达某站点。由于该命令的包长小,所以在网上传递的速度非常快,可以快速检测要去的站点是否可达。如果执行ping不成功,则可以预测故障出现在以下几个方面:
- 网线是否接通;
- 网络适配器配置是否正确;
- IP地址是否可用等。
如果执行ping成功而网络仍然无法使用,问题可能出在网络系统的软件配置方面。ping成功只能保证当前主机与目的主机间存在一条连通的物理路径。
在dos命令窗口中输入ping /?,可以看到ping的各个参数如下:
(1)ping命令参数介绍
- /t:ping 指定用户所在的主机向目标主机发送数据,直到中断。
- /a:以IP地址格式来显示目标主机的网络地址,将地址解析为计算机名。
通过运行ping -a 192.168.0.109可以知道IP为192.168.0.109的计算机名为Lenovo
- -n count:发送count指定的echo数据包数量。默认值为4
- -l size;发送包含有size指定数据量的echo数据包。默认为32字节,上线是65527字节。
- -f;在数据包中发送“不要分段”标志,数据包就不会被路由上的网关分段
- -i TTL;将“生存时间”字段设置为TTL指定的值
- -v TOS;将“服务类型”字段设置为TOS指定的值
- -r count;在“记录路由”字段中记录传出和返回数据包的路由。count可以指定最少1台,最多为9台计算机。
- -s count;指定count指定的跃点数的时间戳
- -j host-list;利用host-list指定的计算机列表路由数据包。连续计算机可以被中间网关分割(路由稀疏),IP允许的数量为9.
- -k host-list;利用host-list指定的计算机列表路由数据包。连续计算机不可以被中间网关分割(路由严格源),IP允许的数量为9
- -w timeout;指定超时间隔,单位为毫秒。
(2) 使用ping命令测试故障步骤
现在有一台计算机不能访问Internet上的web资源,可以使用ping命令找出故障的位置。操作步骤如下:
- a.ping 159.0.0.1
- 如果ping不通,这说明本机TCP/IP没有装好。
- b.ping本机的IP地址
- 如果ping不通,这说明网卡没有装好,或网卡驱动有问题。
(3) ping本网段的其它设备IP地址
如果PING不通,则说明连接本机的线路有问题,或者交换机的端口有问题,也可能交换机本身出现了问题。
(4) ping本网段的网关
如果ping不通,则无法上网,因为没有设备能够把数据包发出去。原因可能是路由器没有配置好或代理服务出了问题。
(5) ping DNS服务器
如果ping不通,则说明DNS服务器出了问题,或本机的DNS服务器设置不正确。
3. tracert命令
tracert命令用来检验数据包是通过上面路径到达目的地的。通过执行tracert命令,可以清楚地看到数据走的路径,判定数据包达到目的主机所经过的路径,显示数据包经过的踪迹节点清单和到达时间。当ping一个较远的主机出现错误时,用tracert命令可以方便地查出数据包是在哪里出错的。如果信息包一个路由器也不能穿越,则有可能是计算机的网关设置错了。那么,可以用ipconfig命令来查看。
tracert命令格式语法格式:
- tracert【-d】【-h maximum_hops】【-j host_list】【- w timeout】
其中主要参数有:
- -d;不解析目标主机的名称
- -h maximum_hops;指定搜索到目标地址的跳跃数
- -j host_list;按照主机列表中的地址释放源路由;
- -w timeout;指定超时时间间隔,程序默认的时间单位是毫秒。
4. winipcfg命令
winipcfg命令的功能与ipconfig基本相同,只是在winipcfg在操作上更加方便,同时能够以Windows的图形界面方式显示。当需要查看任何一台计算机上的TCP/IP协议的配置情况时,选择“开始”--“运行”,在出现的对话框中输入winipcfg,即可出现测试结果。
- winipcfg【/?】【/all】
其中主要参数有:
- /all 显示所有的有关IP地址的配置信息
- /batch【file】将命令结果写入指定文件
- /renew_all 重试所有网络适配器
- /release_all 释放所有网络适配器
- /renew N复位网络适配器 N
- /release N释放网络适配器 N
5. netstat命令
利用该命令可以显示有关统计信息和当前TCP/IP网络连接情况,用户或网络管理人员可以得到非常详尽的统计结果。当网络中没有安装特殊的网关软件,但要详细地了解网络的整个使用情况时,netstat命令是非常有用的。
netstat命令的语法格式:
- netstat 【-e】【-s】【-n】【-a】
其中主要参数有:
- -a;显示所有与该主机建立连接的端口信息
- -n;以数字格式显示地址和端口信息。
- -e;显示以太网的统计信息,该参数一般与s参数共同使用。所显示的内容中,discards表示不能处理而废弃的信息包数,errors表示坏掉的信息包数。这些数值大时,很可能是集线器、电缆和网卡等硬件发生了故障。另外,网络太拥挤也可能导致这些数值的增大。
- -s;显示每个协议的统计情况。如果想要统计当前局域网中的详细信息,可通过输入netstat -e -s来查看。
6. nslookup命令
nslookup命令一般是用来确认DNS服务器动作的。nslookup有多个选择功能,在命令行输入“nslookup<主机名>”并执行,即可显示出目标服务器的主机名和对应的IP地址,成为正向解析。若失败了,可能是执行nslookup命令的计算机的DNS设置错了,也有可能是所查询的DNS服务器停止或工作异常。还有一种情况,虽然返回了应答,但在和该服务器通信时就失败。者多数是目标服务器停止工作,但也有可能DNS服务器保存了错误的信息。在DNS服务器出现问题时,有时可能只能进行正向解析,无法逆向解析。此时,只需执行nslookup命令,看是否输出目标主机名即可。
nslookup命令语法格式:
- nslookup【-subcommand...】【{computertofind|[-server]}】
使用方法:
在DOS命令行下输入nslookup,按enter,此时标识符变为“>”,然后输入指定网站的域名,再按enter键就可以显示该域名的相对应的IP地址。
7. arp命令
arp命令可以显示和设置Internet到以太网的地址转换表内容。这个表一般由arp来维护。当仅使用一个主机名作为参数时,arp命令显示这个主机的当前arp表条目内容。如果这个主机不再当前arp表中,那么arp就会显示一条说明信息。
arp命令语法格式:
- arp【-a】【-d host】【-s host address】【-f file】
其中主要参数有:
- -a 列出当前arp表中的所有条目
- -d host 从arp表中删除某个主机的对应条目
- -s host address 使用以太网地址在arp表中为指定的【temp】【pub】【trial】主机创建一个条目。如果包含关键字【temp】,创建的条目就是临时的;否则这个条目就可以保存很久。【pub】关键字标识这个arp将被公布。使用【trial】关键字表示将使用报尾封装。
- -f file 读一个给定名字的文件,根据文件中的主机名创建arp表的条目。