文档视界 最新最全的文档下载
当前位置:文档视界 › 常用的网络测试命令

常用的网络测试命令

常用的网络测试命令
常用的网络测试命令

常用的网络测试命令

在进行各类网络实验和网络故障排除时,经常需要用到相应的测试工具。网络测试工具基本上分为两类:专用测试工具和系统集成的测试命令,其中,专用测试工具虽然功能强大,但价格较为昂贵,主要用于对网络的专业测试。对于网络实验和平时的网络维护来说,通过熟练掌握由系统(操作系统和网络设备)集成的一些测试命令,就可以判断网络的工作状态和常见的网络故障。我们以Windows XP为例,介绍一些常见命令的使用方法。

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.0.1上的TCP/IP协议工作是否正常,只要在开始菜单下的“运行”子项中键入ping 192.168.0.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协议是否与网卡有效的绑定(具体方法是通过选择

“开始→设置→控制面板→网络”来查看);

●检查一下Windows NT服务器的网络服务功能是否已启动(可通过选择“开始→设

置→控制面板→服务”,在出现的对话框中找到“Server”一项,看“状态”下所

显示的是否为“已启动”)。

如果通过以上四个步骤的检查还没有发现问题的症结,建议重新安装并设置一下

TCP/IP协议,如果是TCP/IP协议的问题,这时绝对可以彻底解决。

上述应用技巧其实重点仍是Ping 命令在局域网中的应用,其实Ping命令不仅在局域网中广泛使用,在Internet互联网中也经常使用它来探测网络的远程连接情况。平时,当遇到以下两种情况时,需要利用Ping工具对网络的连通性进行测试。

表明Ping成功解析出主机名chud,但这只能保证当前主机与目的主机间存在一条连通的物理路径。如果执行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不通,说明网络适配器出现故障,需要重新安装。

Ping这种工具有一个局限性,它一般一次只能检测一端到另一端的连通性,而不能一次检测一端到多端的连通性。因此Ping有一种衍生工具就是fPing,fPing与Ping基本类似,唯一的差别就是fPing一次可以Ping多个IP地址,例如C类的整个网段地址等。网络管理员经常发现有人依次扫描本网的大量IP地址,其实就是fPing做到的。

图8-10-5

2 Arp 命令

ARP(Address Resolution Protocol)地址解析协议是TCP/IP协议集网际(Internet)层协议。TCP/IP网络通信一般需经过两次解析,首先是将宿主机名解析为IP地址,称为名字解析,这是使用DNS或HOSTS文件实现的,然后由ARP协议通过查询ARP缓存或使用本地广播来获得目标主机的硬件地址。如果目标主机不在本地网上,ARP将获得缺省网关(default gateway)的硬件地址,完成IP地址到物理地址的解析。ARP命令用于IP地址与硬件地址解析转换表的管理,包括显示、增加、删除。

缺省情况下,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始进行失效计时。例如,在Windows NT/2000网络中,如果输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失效。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。

ARP常用命令选项:

-a或arp Cg

用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX 平台上用来显示ARP高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。

-a IP

如果我们有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。

-s IP物理地址

可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。

-d IP

使用本命令能够人工删除一个静态项目。

例如我们在命令提示符下,键入Arp Ca;如果我们使用过Ping命令测试并验证从这台计算机到IP地址为10.0.0.99的主机的连通性,则ARP 缓存显示以下项:

Interface:10.0.0.1 on interface 0x1

Internet Address Physical Address Type

10.0.0.99 00-e0-98-00-7c-dc dynamic

缓存项指出位于10.0.0.99的远程主机解析成00-e0-98-00-7c-dc的媒体访问控制地址,它是在远程计算机的网卡硬件中分配的。媒体访问控制地址是计算机用于与网络上远程TCP/IP主机物理通讯的地址。

3 Ipconfig命令

(1) Ipconfig命令的功能

Ipconfig 提供接口的基本配置信息。它对于检测不正确的IP地址、子网掩码和广播地址是很有用的。

Ipconfig程序采用Windows窗口的形式来显示IP协议的具体配置信息,如果Ipconfig

命令后面不跟任何参数直接运行,程序将会在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,还可以查看主机的相关信息如:主机名、DNS服务器、节点类型等。其中网络适配器的物理地址在检测网络错误时非常有用。

窗口中显示了主机名、DNS服务器、节点类型以及主机的相关信息如网卡类型、MAC 地址、IP地址、子网掩码以及默认网关等。

(2) Ipconfig命令的语法格式

Ipconfig可运行在Windows 95/98/NT/XP的Dos提示符下,其命令格式为:

ipconfig[/参数1][/参数2]…………

其中几个最实用的参数为:

all:显示与TCP/IP协议相关的所有细节,其中包括主机名、节点类型、是否启用IP 路由、网卡的物理地址、默认网关等。

图8-10-7

其他参数可在Dos提示符下键入“ipconfig /?”命令来查看。

当用户的网络中设置的是DHCP(动态IP地址配置协议)时,利用Ipconfig可以让用户很方便地了解到IP地址的实际配置情况。如果我们在机房01客户端上运行“ipconfig/all > a.txt”后,打开a.txt文件,将显示如下所示的内容,非常详细地显示了TCP/IP协议的有关配置情况。

C:\>ipconfig/all

Windows 2000 IP Configuration

Host Name . . . . . . . . . . . . : sue

Primary DNS Suffix . . . . . . . :

Node Type . . . . . . . . . . . . : Hybrid

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 本地连接:

Connection-specific DNS Suffix . :

Description . . . . . . . . . . . : Realtek Rtl8139(A) PCI Fast Ethernet

Adapter

Physical Address. . . . . . . . . : 00-10-88-69-00-2B

DHCP Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . : 192.168.0.99

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 192.168.0.1

DNS Servers . . . . . . . . . . . : 192.168.0.1

对Windows 2000而言,基本的输出是相同的,两个版本中都提供每个已配置的接口的输出列表。但在Windows 2000中该工具功能有所加强,允许管理客户解析器的缓存和DHCP 客户的种类。Windows 2000中增加的选项如下:

Ipconfig/flushdns

顾名思义,/flush dns是用来清除客户端的DNS解析器的缓存的。

Ipconfig/registerdns

使用选项register dns,在客户端刷新了它的DHCP租借期后将使用DNS动态更新重新注册。

Ipconfig/displaydns

选项/display dns用于查看客户端的DNS解析器的缓存。

4 Tracert命令

Tracert是TCP/IP网络中的一个路由跟踪实用程序,用于确定IP数据包访问目标主机所采取的路径。通过tracert命令所显示的信息,既可以掌握一个数据包信息从本地主机到达目标主机所经过的路由,还可以了解网络阻塞发生在哪个环节,为网络管理和系统性能分析及优化提供依据。

一系列ICMP数据包(注意,大多数Unix系统的Traceroute实际发送UDP数据包)在发送到目的地时,前3个数据包的F值设置为1,并对以后每3个数据包为一组都使TTL 增加1。因为路由器要将TTL值减l,则第一个数据包只能到达第一个路由器。路由器就发送ICMP应答到源主机,通知TTL已超时。这就使得Tracert命令可以在日志中记录第一个路由器的IP地址。然后TTL值为2的第二组数据包沿路由到达第二个路由器,TTL也超时。另一个ICMP应答发送到源主机。这个TTL值增加的过程一直继续下去,直到得到目的地的回答,或者是直到TTL达到了最大值25为止。使用tracert的命令行语法如下:

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

此格式中各选项的意义如下:

-d指定tracert不要将IP地址解析为主机名。

-h指定最大转接次数(实际上指定了最大的TTL值)。

-j 允许用户指定非严格源路由主机(和Ping相同,最大值为9)。

-w指定超时值,以毫秒为单位。

destination即目标,可以是主机名或IP地址。

图8-10-15

以上信息显示出所经每一站路由器的反应时间、站点名称、IP地址等重要信息,从中可判断哪个路由器最影响我们的网络访问速度。Tracert最多可以展示30个“跳步(hops)”。

5 Route命令

Route命令用于管理静态路由表。静态路由表由目标(destination)、网络掩码(netmask)和网关(gateway)组成。Route命令对静态路由表的操作包括增、删、改、清除及显示,命令格式如下:

●route add [目标] [MASK 掩码] [网关] 增加一个路由

●route delete [目标] [MASK 掩码] [网关] 删除一个路由

●route change [目标] [MASK 掩码] [网关] 改变一个路由

●route -f 清除全部路由

●route print 显示路由表

由于用Route命令建立的静态路由没有写入文件中,因此重新启动系统后需要重新构造。

6 Netstat命令

6.1 Netstat命令的功能

Netstat程序有助于我们了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,可提供各种各样的信息,通常用来显示每个网络接口、网络插口、网络路由表等的详细统计资料。例如显示网络连接、路由表和网络接口信息,可以让用户得知目前总共有哪些网络连接正在运行。

Netstat命令用于对TCP/IP网络协议和连接进行统计,统计内容包括:

1. 接口统计:统计接口收发数据量(字节数)、差错数目、废弃(Discard)数目、单点播

发(Unicast)数据包数等;

2. IP统计:统计接收IP包总数,其中正确递交、地址错、IP包头错分别统计以及转

发数据报数目统计等;

3. ICMP统计:ICMP(Internet Control Message Protocol)网际控制信息协议位于

TCP/IP协议集网际层,负责提供网络IP数据包传递时收发消息和错误报告。

ICMP消息主要包括:回应请求、回应应答、重定向、目标未达到等。例如测试

诊断命令Ping的执行结果计入ICMP的回应请求、回应应答及消息收发统计中;

4. TCP统计:统计当前连接数,连接失败重试次数,主动/被动打开数等。例如使

用共享文件或共享打印机都建立连接;

5. UDP统计:统计接收和发送数据报(Datagrams)的数量及出错情况;

6. 路由表:列出当前静态路由表。由此可见,Netstat命令对于网络统计与诊断有一

定的参考意义。

可以使用netstat/?命令来查看一下该命令的使用格式以及详细的参数说明,该命令的使用格式是在DOS命令提示符下或者直接在运行对话框中键入如下命令:netstat[参数],利用该程序提供的参数功能,我们可以了解该命令的其他功能信息,例如显示以太网的统计信息、显示所有协议的使用状态,这些协议包括TCP协议、UDP协议以及IP协议等,另外还可以选择特定的协议并查看其具体使用信息,还能显示所有主机的端口号以及当前主机的详细路由信息。当网络中没有安装特殊的网管软件,但要对网络的整个使用状况作个详细地了解时,就是Netstat大显身手的时候了。

6.2 Netstat命令的语法格式

netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]

-a显示所有与该主机建立连接的端口信息。此命令可以显示出计算机当前所开放的所有端口,其中包括TCP端口和UDP端口。有经验的管理员会经常的使用它,以此来查看计算机的系统服务是否正常,是否被“黑客”留下后门,木马等。在刚刚装了系统配置好服务器以后运行一下netstat -a看看系统开放了什么端口,并记录下来,以便以后作为参考使用,当发现有不明的端口时就可以及时的做出对策。由于这个参数同时还会显示出当前计算机正连接着的服务器,所以Netstat也是一种实时入侵检测工具,如发现有个IP连接着不正常的端口,可以及时做出有效对策。

从下面的情况就可以知道我的计算机现在开放的TCP端口有smtp(25),http(80),1025,1026等。

-e显示以太网的统计,该参数一般与s参数共同使用。

-n以数字格式显示地址和端口信息。

-s显示每个协议的统计情况,这些协议主要有TCP(Transfer Control Protocol,传输控制协议)、UDP(User Datagram Protocol ,用户数据报协议)、ICMP(Internet Control Messages Protocol,网间控制报文协议)和IP(Internet Protocol,网际协议),其中前三种协议一般平时很少用到,但在进行网络性能评析时却非常有用。

-p只显示出名字的协议的统计数字和协议控制块信息。显示由protocol 指定的协议的连接;protocol 可以是tcp 或udp。如果与-s 选项一同使用显示每个协议的统计,protocol 可以是tcp、udp 或ip。

这个参数可以指定查看什么协议的连接状态,比如查看当前计算机正在连接的所有TCP 端口。

-r显示路由表的内容。

interval 重新显示所选的统计,在每次显示之间暂停interval 秒。按CTRL+B 停止重新显示统计。如果省略该参数,netstat 将显示一次当前的配置信息。可以自定义检查网络状况的时间的参数,如每过10秒检查一次计算机当前TCP连接的状态输入netstat 10 -p tcp这样netstat就会每过10秒就把所有的TCP端口检查一次。

所有参数,可在Dos提示符下键入“netstat -?”命令来查看。另外,在Windows

95/98/NT/2000下还集成了一个名为Nbtstat的工具,此工具的功能与Netstat 基本相同,如需要用户可通过键入“nbtstat-?”来查看它的主要参数和使用方法。使用时,如果用户想要统计当前局域网中的详细信息,可通过键入“netstat –e –s”来查看。

示例:

图8-10-10

举例:

图8-10-11

若接收错和发送错接近为零或全为零,网络的接口无问题。但当这两个字段有100个以上的出错数据包时就可以认为是高出错率了。高的发送错表示本地网络饱和或在主机与网络

之间有不良的物理连接;高的接收错表示整体网络饱和、本地主机过载或物理连接有问题,可以用Ping命令统计误码率,进一步确定故障的程度。

相关文档