常用的网络测试命令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用的网络测试命令
在进行各类网络实验和网络故障排除时,经常需要用到相应的测试工具。
网络测试工具基本上分为两类:专用测试工具和系统集成的测试命令,其中,专用测试工具虽然功能强大,但价格较为昂贵,主要用于对网络的专业测试。
对于网络实验和平时的网络维护来说,通过熟练掌握由系统(操作系统和网络设备)集成的一些测试命令,就可以判断网络的工作状态和常见的网络故障。
我们以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.9900-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命令统计误码率,进一步确定故障的程度。