网络故障和网络诊断工具(1.0)

网络故障概述

在信息化社会里,各企事业单位对网络的依赖程度越来越高,网络随时都可能发生故障,影响正常工作。所以,必须掌握相应的技术及时排除故障。有些单位如电信、电子商务公司、游戏运营商等使用的网络一旦发生故障,若不能及时排除,会产生很大的损失。这些单位一般会安装网络故障管理软件,通过软件来管理和排除网络的故障。从网络故障本身来说,经常会遇到的故障有:

物理层故障

数据链路层故障

网络层故障

以太网络故障

广域网络故障

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)使用者发生的差错

使用者没有遵守网路赋予的权限。例如:

超权访问系统和服务;

侵入其它系统;

操作其它用户的数据资料;

共享账号;

非法复制。

既有网络故障产生,那么就有网络管理。

网络故障管理一般包括5项:

对网络进行监测,提前预知故障;

发生故障后,找到故障发生的位置;

解决故障;

记录故障产生的原因,找到解决的方法;

故障分析预测。

常用的网络故障测试命令

常用的网络故障测试命令有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命令找出故障的位置。操作步骤如下:

(1)ping 159.0.0.1

如果ping不通,这说明本机TCP/IP没有装好。

(2)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表的条目。

猜你喜欢

转载自blog.csdn.net/mez_blog/article/details/80735237