常用的网络测试命令
在进行各类网络实验和网络故障排除时,经常需要用到相应的测试工具。网络测试工具基本上分为两类:专用测试工具和系统集成的测试命令,其中,专用测试工具虽然功能强大,但价格较为昂贵,主要用于对网络的专业测试。对于网络实验和平时的网络维护来说,通过熟练掌握由系统(操作系统和网络设备)集成的一些测试命令,就可以判断网络的工作状态和常见的网络故障。我们以Win7为例,介绍一些常见命令的使用方法。 1 Ping网络连通测试命令 1.1 Ping命令的功能
Ping是网络连通测试命令,是一种常见的网络工具。用这种工具可以测试端到端的连通性,即检查源端到目的端网络是否通畅。该命令主要是用来检查路由是否能够到达,Ping的原理很简单,就是通过向计算机发送Internet控制信息协议(ICMP)从源端向目的端发出一定数量的网络包,然后从目的端返回这些包的响应,以校验与远程计算机或本地计算机的连接情况。对于每个发送网络包,Ping最多等待1秒并显示发送和接收网络包的数量,比较每个接收网络包和发送网络包,以校验其有效性。默认情况下,发送四个回应网络包。由于该命令的包长非常小,所以在网上传递的速度非常快,可以快速的检测要去的站点是否可达,如果在一定的时间内收到响应,则程序返回从包发出到收到的时间间隔,这样根据时间间隔就可以统计网络的延迟。如果网络包的响应在一定时间间隔内没有收到,则程序认为包丢失,返回请求超时的结果。这样如果让Ping一次发一定数量的包,然后检查收到相应的包的数量,则可统计出端到端网络的丢包率,而丢包率是检验网络质量的重要参数。 一般在去某一站点是可以先运行一下该命令看看该站点是否可达。如果执行Ping不成功,则可以预测故障出现在以下几个方面:
? 网线是否连通
? 网络适配器配置是否正确 ? IP地址是否可用
如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证当前主机与目的主机间存在一条连通的物理路径。它的使用格式是在命令提示符下键入:ping IP地址或主机名,执行结果显示响应时间,重复执行这个命令,可以发现Ping报告的响应时间是不同的。
如果网络管理员和用户的Ping命令都失败了,Ping命令显示的出错信息是很有帮助的,可以指导进行下一步的测试计划。这时可注意Ping命令显示的出错信息,这种出错信息通常分为三种情况:
(1) unknown host(不知名主机),该远程主机的名字不能被DNS(域名服务器)转换成ip地址。网络故障可能为DNS有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
(2) network unreachable(网络不能到达),这是本地系统没有到达远程系统的路由,可用netstat-rn检查路由表来确定路由配置情况。
(3) no answer(无响应),远程系统没有响应。这种故障说明本地系统有一条到达远程主机的路由,但却接收不到它发给该远程主机的任何报文。这种故障可能是:远程主机没有工作,或者本地或远程主机网络配置不正确,或者本地或远程的路由器没有工作、或者通信线路有故障,或者远程主机存在路由选择问题。
(4) Request time out如果在指定时间内没有收到应答网络包,则Ping就认为该计算机不可达。网络包返回时间越短,Request time out出现的次数越少,则意味着与此计算机的连接稳定和速度快。 1.2 Ping命令的语法格式
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] destination-list
主要参数有:
-t 设置Ping不断向指定的计算机发送报文,按 Ctrl+Break可以查看统计信息或继续运行,直到用户按Ctrl+C键中断;
-a 用来将IP地址解析为计算机名;
-f 告诉Ping不要将报文分段(如果用- l设置了一个分段的值,则信息就不发送,并显示关于DF [Don‘t Fragment] 标志的信息);
-n 指定Ping发送请求的测试包的个数,缺省值为4; -l size发送由size指定数据大小的回应网络包; -i 指定有效时间(TTL)(可取的值为1到255);
-v 使用户可以改变IP数据报中服务的类型(TOS: Type of Service); -r 记录请求和回答的路由。最小1个主机,最多9个主机可以被记录; -s 提供转接次数的时间信息,次数由count的值决定;
-j 以最多9个主机名指定非严格的源路由主机(非严格源路由主机是指在主机间可以有中间的路由器),注意-j 和- k选项是互斥的;
-k 以最多9个主机名指定严格的源路由主机(严格源路由主机是指在主机间不可以有中间的路由器);
-w 使用户可以指定回答的超时值,以毫秒为单位;
destination-list指定Ping 的目标,可以是主机名或IP地址;
可通过在MS-Dos提示符下运行Ping -?命令来查看Ping命令的具体语法格式,如图所示。
1.3 Ping命令的应用技巧
用Ping工具检查网络服务器和任意一台客户端上TCP/IP协议的工作情况时,只要在网络中其他任何一台计算机上Ping该计算机的IP地址即可。例如要检查网关192.168.1.1上的TCP/IP协议工作是否正常,只要在开始菜单下的“运行”子项中键入ping 192.168.1.1就可以了。如果文件服务器上的TCP/IP协议工作正常,即会以Dos屏幕方式显示如下所示的信息,如图所示。
以上返回了4个测试数据包,其中bytes=32 表示测试中发送的数据包大小是32个字节,time<10ms表示与对方主机往返一次所用的时间小于10毫秒,TTL=128表示当前测试使用的TTL(Time to Live)值为64(系统默认值为128)。测试表明的连接非常正常,没有丢失数据包,响应很快。对于局域网的连接,数据包丢失越少和往返时间越小则越正常。如果数据包丢失率高、响应时间非常慢,或者各数据包不按次序到达,那么就有可能是硬件有毛病;当然,如果这些情况发生广域网上就不必担心太多。
关键的统计信息是:
· 一个数据包往返传送需要多长时间,它显示在time=之后; · 数据包丢失的百分比。它显示在Ping输出结束处的总统计行中; · 数据包到达的次序。如每个数据包的ICMP序号(icmp_seq)。 如果网络有问题,则返回如图所示的响应失败信息。
出现此种情况时,就要仔细分析一下网络故障出现的原因和可能有问题的网上结点了,建议从以下几个方面来着手排查:
? 看一下被测试计算机是否已安装了TCP/IP协议;
? 检查一下被测试计算机的网卡安装是否正确且是否已经连通;
? 看一下被测试计算机的TCP/IP协议是否与网卡有效的绑定(具体方法是通过选择
“开始→控制面板→网络”来查看); 如果通过以上四个步骤的检查还没有发现问题的症结,建议重新安装并设置一下TCP/IP协议,如果是TCP/IP协议的问题,这时绝对可以彻底解决。
上述应用技巧其实重点仍是Ping 命令在局域网中的应用,其实Ping命令不仅在局域网中广泛使用,在Internet互联网中也经常使用它来探测网络的远程连接情况。平时,当遇到以下两种情况时,需要利用Ping工具对网络的连通性进行测试。
Ping成功,但这只能保证当前主机与目的主机间存在一条连通的物理路径。如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面。若执行Ping不成功,则故障可能是网线不通、网络适配器配置不正确或IP地址不可用等。
一个简单的Ping测试的结果,即使该测试顺利通过,也能指导网络管理员做进一步的测试,帮助找到最可能发生问题的地方。但是要深入检查问题,并找到潜在的原因,还需要其它的诊断工具。 1.4 Ping命令应用特例
1) Ping 127.0.0.1
127.0.0.1 是表示本地循环的IP地址,通过此命令主要是测试计算机上协议是否安装正确。如果无法Ping通这个地址时,也就是说本机TCP/IP协议不能够正常工作,应重新配置TCP/IP协议。
2) Ping本机的IP地址
如果Ping通了本机IP地址,这就是说明了网络适配器(网卡或者MODEM)工作正常,如果Ping不通,说明网络适配器出现故障,需要重新安装。 2 Arp 命令
ARP(Address Resolution Protocol)地址解析协议是TCP/IP协议集网际(Internet)层协议。TCP/IP网络通信一般需经过两次解析,首先是将宿主机名解析为IP地址,称为名字解析,这是使用DNS或HOSTS文件实现的,然后由ARP协议通过查询ARP缓存或使用本地广播来获得目标主机的硬件地址。如果目标主机不在本地网上,ARP将获得缺省网关(default gateway)的硬件地址,完成IP地址到物理地址的解析。ARP命令用于IP地址与硬件地址解析转换表的管理,包括显示、增加、删除。
缺省情况下,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始进行失效计时。例如,如果输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失效。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机。
ARP常用命令选项: -a
用于查看高速缓存中的所有项目。
常用的网络测试命令
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)