常用的网络检验命令.docx
《常用的网络检验命令.docx》由会员分享,可在线阅读,更多相关《常用的网络检验命令.docx(17页珍藏版)》请在冰豆网上搜索。
![常用的网络检验命令.docx](https://file1.bdocx.com/fileroot1/2023-6/1/3d719fdd-8472-4414-b01a-9bf0d68747d7/3d719fdd-8472-4414-b01a-9bf0d68747d71.gif)
常用的网络检验命令
常用的网络测试命令
在进行各类网络实验和网络故障排除时,经常需要用到相应的测试工具。
网络测试工具基本上分为两类:
专用测试工具和系统集成的测试命令,其中,专用测试工具虽然功能强大,但价格较为昂贵,主要用于对网络的专业测试。
对于网络实验和平时的网络维护来说,通过熟练掌握由系统(操作系统和网络设备)集成的一些测试命令,就可以判断网络的工作状态和常见的网络故障。
我们以WindowsXP为例,介绍一些常见命令的使用方法。
1Ping网络连通测试命令
1.1Ping命令的功能
Ping是网络连通测试命令,是一种常见的网络工具。
用这种工具可以测试端到端的连通性,即检查源端到目的端网络是否通畅。
该命令主要是用来检查路由是否能够到达,Ping的原理很简单,就是通过向计算机发送Internet控制信息协议(ICMP)从源端向目的端发出一定数量的网络包,然后从目的端返回这些包的响应,以校验与远程计算机或本地计算机的连接情况。
对于每个发送网络包,Ping最多等待1秒并显示发送和接收网络包的数量,比较每个接收网络包和发送网络包,以校验其有效性。
默认情况下,发送四个回应网络包。
由于该命令的包长非常小,所以在网上传递的速度非常快,可以快速的检测要去的站点是否可达,如果在一定的时间内收到响应,则程序返回从包发出到收到的时间间隔,这样根据时间间隔就可以统计网络的延迟。
如果网络包的响应在一定时间间隔内没有收到,则程序认为包丢失,返回请求超时的结果。
这样如果让Ping一次发一定数量的包,然后检查收到相应的包的数量,则可统计出端到端网络的丢包率,而丢包率是检验网络质量的重要参数。
一般在去某一站点是可以先运行一下该命令看看该站点是否可达。
如果执行Ping不成功,则可以预测故障出现在以下几个方面:
●网线是否连通
●网络适配器配置是否正确
●IP地址是否可用
如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证当前主机与目的主机间存在一条连通的物理路径。
它的使用格式是在命令提示符下键入:
pingIP地址或主机名,执行结果显示响应时间,重复执行这个命令,可以发现Ping报告的响应时间是不同的。
如果网络管理员和用户的Ping命令都失败了,Ping命令显示的出错信息是很有帮助的,可以指导进行下一步的测试计划。
这时可注意Ping命令显示的出错信息,这种出错信息通常分为三种情况:
(1)unknownhost(不知名主机),该远程主机的名字不能被DNS(域名服务器)转换成ip地址。
网络故障可能为DNS有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
(2)networkunreachable(网络不能到达),这是本地系统没有到达远程系统的路由,可用netstat-rn检查路由表来确定路由配置情况。
(3)noanswer(无响应),远程系统没有响应。
这种故障说明本地系统有一条到达远程主机的路由,但却接收不到它发给该远程主机的任何报文。
这种故障可能是:
远程主机没有工作,或者本地或远程主机网络配置不正确,或者本地或远程的路由器没有工作、或者通信线路有故障,或者远程主机存在路由选择问题。
(4)Requesttimeout如果在指定时间内没有收到应答网络包,则Ping就认为该计算机不可达。
网络包返回时间越短,Requesttimeout出现的次数越少,则意味着与此计算机的连接稳定和速度快。
1.2Ping命令的语法格式
ping[-t][-a][-ncount][-lsize][-f][-iTTL][-vTOS][-rcount][-scount][[-jhost-list]|[-khost-list]][-wtimeout]destination-list
主要参数有:
-t设置Ping不断向指定的计算机发送报文,按Ctrl+Break可以查看统计信息或继续运行,直到用户按Ctrl+C键中断;
-a用来将IP地址解析为计算机名;
-f告诉Ping不要将报文分段(如果用-l设置了一个分段的值,则信息就不发送,并显示关于DF[Don‘tFragment]标志的信息);
-n指定Ping发送请求的测试包的个数,缺省值为4;
-lsize发送由size指定数据大小的回应网络包;
-i指定有效时间(TTL)(可取的值为1到255);
-v使用户可以改变IP数据报中服务的类型(TOS:
TypeofService);
-r记录请求和回答的路由。
最小1个主机,最多9个主机可以被记录;
-s提供转接次数的时间信息,次数由count的值决定;
-j以最多9个主机名指定非严格的源路由主机(非严格源路由主机是指在主机间可以有中间的路由器),注意-j和-k选项是互斥的;
-k以最多9个主机名指定严格的源路由主机(严格源路由主机是指在主机间不可以有中间的路由器);
-w使用户可以指定回答的超时值,以毫秒为单位;
destination-list指定Ping的目标,可以是主机名或IP地址;
可通过在MS-Dos提示符下运行Ping-?
命令来查看Ping命令的具体语法格式,如图所示。
1.3Ping命令的应用技巧
用Ping工具检查网络服务器和任意一台客户端上TCP/IP协议的工作情况时,只要在网络中其他任何一台计算机上Ping该计算机的IP地址即可。
例如要检查网络文件服务器192.168.0.1上的TCP/IP协议工作是否正常,只要在开始菜单下的“运行”子项中键入ping192.168.0.1就可以了。
如果文件服务器上的TCP/IP协议工作正常,即会以Dos屏幕方式显示如下所示的信息,如图所示。
以上返回了4个测试数据包,其中bytes=32表示测试中发送的数据包大小是32个字节,time<10ms表示与对方主机往返一次所用的时间小于10毫秒,TTL=128表示当前测试使用的TTL(TimetoLive)值为64(系统默认值为128)。
测试表明的连接非常正常,没有丢失数据包,响应很快。
对于局域网的连接,数据包丢失越少和往返时间越小则越正常。
如果数据包丢失率高、响应时间非常慢,或者各数据包不按次序到达,那么就有可能是硬件有毛病;当然,如果这些情况发生广域网上就不必担心太多。
关键的统计信息是:
·一个数据包往返传送需要多长时间,它显示在time=之后;
·数据包丢失的百分比。
它显示在Ping输出结束处的总统计行中;
·数据包到达的次序。
如每个数据包的ICMP序号(icmp_seq)。
如果网络有问题,则返回如图所示的响应失败信息。
出现此种情况时,就要仔细分析一下网络故障出现的原因和可能有问题的网上结点了,建议从以下几个方面来着手排查:
●看一下被测试计算机是否已安装了TCP/IP协议;
●检查一下被测试计算机的网卡安装是否正确且是否已经连通;
●看一下被测试计算机的TCP/IP协议是否与网卡有效的绑定(具体方法是通过选择“开始→设置→控制面板→网络”来查看);
●检查一下WindowsNT服务器的网络服务功能是否已启动(可通过选择“开始→设置→控制面板→服务”,在出现的对话框中找到“Server”一项,看“状态”下所显示的是否为“已启动”)。
如果通过以上四个步骤的检查还没有发现问题的症结,建议重新安装并设置一下TCP/IP协议,如果是TCP/IP协议的问题,这时绝对可以彻底解决。
上述应用技巧其实重点仍是Ping命令在局域网中的应用,其实Ping命令不仅在局域网中广泛使用,在Internet互联网中也经常使用它来探测网络的远程连接情况。
平时,当遇到以下两种情况时,需要利用Ping工具对网络的连通性进行测试。
表明Ping成功解析出主机名chud,但这只能保证当前主机与目的主机间存在一条连通的物理路径。
如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面。
若执行Ping不成功,则故障可能是网线不通、网络适配器配置不正确或IP地址不可用等。
一个简单的Ping测试的结果,即使该测试顺利通过,也能指导网络管理员做进一步的测试,帮助找到最可能发生问题的地方。
但是要深入检查问题,并找到潜在的原因,还需要其它的诊断工具。
1.4Ping命令应用特例
1)Ping127.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
2Arp命令
ARP(AddressResolutionProtocol)地址解析协议是TCP/IP协议集网际(Internet)层协议。
TCP/IP网络通信一般需经过两次解析,首先是将宿主机名解析为IP地址,称为名字解析,这是使用DNS或HOSTS文件实现的,然后由ARP协议通过查询ARP缓存或使用本地广播来获得目标主机的硬件地址。
如果目标主机不在本地网上,ARP将获得缺省网关(defaultgateway)的硬件地址,完成IP地址到物理地址的解析。
ARP命令用于IP地址与硬件地址解析转换表的管理,包括显示、增加、删除。
缺省情况下,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。
一旦高速缓存的项目被输入,它们就已经开始进行失效计时。
例如,在Windows NT/2000网络中,如果输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失效。
所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。
ARP常用命令选项:
-a或arpCg
用于查看高速缓存中的所有项目。
-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP高速缓存中所有项目的选项,而Windows用的是arp-a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。
-aIP
如果我们有多个网卡,那么使用arp-a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。
-sIP物理地址
可以向ARP高速缓存中人工输入一个静态项目。
该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。
-dIP
使用本命令能够人工删除一个静态项目。
例如我们在命令提示符下,键入ArpCa;如果我们使用过Ping命令测试并验证从这台计算机到IP地址为10.0.0.99的主机的连通性,则ARP 缓存显示以下项:
Interface:
10.0.0.1oninterface0x1
InternetAddress PhysicalAddress Type
10.0.0.99 00-e0-98-00-7c-dc dynamic
缓存项指出位于10.0.0.99的远程主机解析成00-e0-98-00-7c-dc的媒体访问控制地址,它是在远程计算机的网卡硬件中分配的。
媒体访问控制地址是计算机用于与网络上远程TCP/IP主机物理通讯的地址。
3Ipconfig命令
(1)Ipconfig命令的功能
Ipconfig提供接口的基本配置信息。
它对于检测不正确的IP地址、子网掩码和广播地址是很有用的。
Ipconfig程序采用Windows窗口的形式来显示IP协议的具体配置信息,如果Ipconfig命令后面不跟任何参数直接运行,程序将会在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,还可以查看主机的相关信息如:
主机名、DNS服务器、节点类型等。
其中网络适配器的物理地址在检测网络错误时非常有用。
窗口中显示了主机名、DNS服务器、节点类型以及主机的相关信息如网卡类型、MAC地址、IP地址、子网掩码以及默认网关等。
(2)Ipconfig命令的语法格式
Ipconfig可运行在Windows95/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
Windows2000IPConfiguration
HostName............:
sue
PrimaryDNSSuffix.......:
NodeType............:
Hybrid
IPRoutingEnabled........:
No
WINSProxyEnabled........:
No
Ethernetadapter本地连接:
Connection-specificDNSSuffix.:
Description...........:
RealtekRtl8139(A)PCIFastEthernet
Adapter
PhysicalAddress.........:
00-10-88-69-00-2B
DHCPEnabled...........:
No
IPAddress...........:
192.168.0.99
SubnetMask...........:
255.255.255.0
DefaultGateway.........:
192.168.0.1
DNSServers...........:
192.168.0.1
对Windows2000而言,基本的输出是相同的,两个版本中都提供每个已配置的接口的输出列表。
但在Windows2000中该工具功能有所加强,允许管理客户解析器的缓存和DHCP客户的种类。
Windows2000中增加的选项如下:
Ipconfig/flushdns
顾名思义,/flushdns是用来清除客户端的DNS解析器的缓存的。
Ipconfig/registerdns
使用选项registerdns,在客户端刷新了它的DHCP租借期后将使用DNS动态更新重新注册。
Ipconfig/displaydns
选项/displaydns用于查看客户端的DNS解析器的缓存。
4Tracert命令
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][-hmaximum_hops][-jhost-list][-wtimeout]target_name
此格式中各选项的意义如下:
-d指定tracert不要将IP地址解析为主机名。
-h指定最大转接次数(实际上指定了最大的TTL值)。
-j允许用户指定非严格源路由主机(和Ping相同,最大值为9)。
-w指定超时值,以毫秒为单位。
destination即目标,可以是主机名或IP地址。
图8-10-15
以上信息显示出所经每一站路由器的反应时间、站点名称、IP地址等重要信息,从中可判断哪个路由器最影响我们的网络访问速度。
Tracert最多可以展示30个“跳步(hops)”。
5Route命令
Route命令用于管理静态路由表。
静态路由表由目标(destination)、网络掩码(netmask)和网关(gateway)组成。
Route命令对静态路由表的操作包括增、删、改、清除及显示,命令格式如下:
●route add [目标] [MASK 掩码] [网关]增加一个路由
●route delete [目标] [MASK 掩码] [网关]删除一个路由
●route change [目标] [MASK 掩码] [网关]改变一个路由
●route -f 清除全部路由
●route print 显示路由表
由于用Route命令建立的静态路由没有写入文件中,因此重新启动系统后需要重新构造。
6Netstat命令
6.1Netstat命令的功能
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.2Netstat命令的语法格式
netstat[-a][-e][-n][-s][-pproto][-r][interval]
-a显示所有与该主机建立连接的端口信息。
此命令可以显示出计算机当前所开放的所有端口,其中包括TCP端口和UDP端口。
有经验的管理员会经常的使用它,以此来查看计算机的系统服务是否正常,是否被“黑客”留下后门,木马等。
在刚刚装了系统配置好服务器以后运行一下netstat-a看看系统开放了什么端口,并记录下来,以便以后作为参考使用,当发现有不明的端口时就可以及时的做出对策。
由于这个参数同时还会显示出当前计算机正连接着的服务器,所以Netstat也是一种实时入侵检测工具,如发现有个IP连接着不正常的端口,可以及时做出有效对策。
从下面的情况就可以知道我的计算机现在开放的TCP端口有smtp(25),http(80),1025,1026等。
-e显示以太网的统计,该参数一般与s参数共同使用。
-n以数字格式显示地址和端口信息。
-s显示每个协议的统计情况,这些协议主要有TCP(TransferControlProtocol,传输控制协议)、UDP(UserDatagramProtocol,用户数据报协议)、ICMP(InternetControlMessagesProtocol,网间控制报文协议)和IP(InternetProtocol,网际协议),其中前三种协议一般平时很少用到,但在进行网络性能评析时却非常有用。
-p只显示出名字的协议的统计数字和协议控制块信息。
显示由protocol指定的协议的连接;protocol可以是tcp或udp。
如果与-s选项一同使用显示每个协议的统计,protocol可以是tcp、udp或ip。
这个参数可以指定查看什么协议的连接状态,比如查看当前计算机正在连接的所有TCP端口。
-r显示路由表的内容。
interval重新显示所选的统计,在每次显示之间暂停interval秒。
按CTRL+B停止重新显示统计。
如果省略该参数,netstat将显示一次当前的配置信息。
可以自定义检查网络状况的时间的参数,如每过10秒检查一次计算机当前TCP连接的状态输入netstat10-ptcp这样netstat就会每过10秒就把所有的TCP端口检查一次。
所有参数,可在Dos提示符下键入“netstat-?
”命令来查看。
另外,在Windows95/98/NT/2000下还集成了一个名为Nbtstat的工具,此工具的功能与Netstat基本相同,如需要用户可通过键入“nbtstat-?
”来查看它的主要参数和使用方法。
使用时,如果用户想要统计当前局域网中的详细信息,可通过键入“netstat–e–s”来查看。
示例:
图8-10-10
举例:
图8-10-11
若接收