您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 网络/安全 > 正文

8种网络故障分析及测试命令大全

发表于:2019-04-26 作者:佚名 来源:Cisco思科CCIE俱乐部

对于网络工程师来说,在平常工作中,最基础的工作能力就是要保证网络顺畅不出错误。但实际上,网络随时都可能发生故障,影响正常工作,从而导致网络工程师总是要背很多黑锅;所以快速解决网络故障已经成为网工的能力检验的标配了。

网络故障


那如何才能快速解决网络问题呢?一般来说单位或者企业会安装网络故障管理软件,通过软件来管理和排除网络的故障。您做为我们的网工,一定要知道哪些网络故障问题,从而快速测试出这些问题。故小编今天给大家总结一下常见的网络故障问题以及命令。

一、网络故障分类总结

  • 物理层故障
  • 数据链路层故障
  • 网络层故障
  • 以太网络故障
  • 广域网络故障
  • 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命令格式语法格式:


  1. 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,即可出现测试结果。


  1. winipcfg【/?】【/all】 

其中主要参数有:

  • /all 显示所有的有关IP地址的配置信息
  • /batch【file】将命令结果写入指定文件
  • /renew_all 重试所有网络适配器
  • /release_all 释放所有网络适配器
  • /renew N复位网络适配器 N
  • /release N释放网络适配器 N

5. netstat命令

利用该命令可以显示有关统计信息和当前TCP/IP网络连接情况,用户或网络管理人员可以得到非常详尽的统计结果。当网络中没有安装特殊的网关软件,但要详细地了解网络的整个使用情况时,netstat命令是非常有用的。

netstat命令的语法格式:


  1. 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命令语法格式:


  1. nslookup【-subcommand...】【{computertofind|[-server]}】 

使用方法:

在DOS命令行下输入nslookup,按enter,此时标识符变为“>”,然后输入指定网站的域名,再按enter键就可以显示该域名的相对应的IP地址。

7. arp命令

arp命令可以显示和设置Internet到以太网的地址转换表内容。这个表一般由arp来维护。当仅使用一个主机名作为参数时,arp命令显示这个主机的当前arp表条目内容。如果这个主机不再当前arp表中,那么arp就会显示一条说明信息。

arp命令语法格式:


  1. 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表的条目。