网络故障诊断常用工具详解.docx
- 文档编号:28992858
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:58
- 大小:326.71KB
网络故障诊断常用工具详解.docx
《网络故障诊断常用工具详解.docx》由会员分享,可在线阅读,更多相关《网络故障诊断常用工具详解.docx(58页珍藏版)》请在冰豆网上搜索。
网络故障诊断常用工具详解
网络故障诊断常用工具详解(总54页)
RTUB_103_C1网络故障诊断常用工具详解
课程目标:
了解网络故障诊断时常用的命令
掌握常用故障排除命令的使用方法
参考资料:
第一章网络检测工具介绍
知识点
了解网络诊断时常用的命令
熟悉网络排除时常用命令
一.1Ping命令
一.1.1Ping命令介绍
“ping”这个名字源于声纳定位操作,是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping是一个十分好用的TCP/IP工具。
Ping程序由MikeMuuss编写,ping是PacketInternetGroper的缩写。
它主要的功能是用来检测网络的连通情况和分析网络速度。
该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP(internetControlMessageProtocol)回显应答。
可根据返回的信息来决定:
1.远程设备是否可用
2.与远程主机通信的来回旅程(round-trip)的延迟(delay)
3.包(packet)的丢失情况
类型
代码
描述
查询
差错
0
0
回显应答
3
目的不可达:
0
网络不可达
1
主机不可达
2
协议不可达*
3
端口不可达
4
需要进行分片但设置了不分片比特
5
源站选路失败
6
目的网络不认识
7
目的主机不认识
8
源主机被隔离(作废不用)
9
目的网络被强制禁止
10
目的主机被强制禁止
11
由于服务类型TOS,网络不可达
12
由于服务类型TOS,主机不可达
13
由于过滤,通信被强制禁止
14
主机越权
15
优先权中止生效
4
0
源端被关闭(基本流控制)
5
重定向:
0
对网络重定向
1
对主机重定向
2
对服务类型和网络重定向
3
对服务类型和主机重定向
8
0
请求回显
9
0
路由器通告
10
0
路由器请求
11
超时:
0
1
传输期间生存时间为0(Traceroute,)
在数据报组装期间生存时间为0
12
参数问题:
0
1
坏的IP首部(包括各种差错)
缺少必需的选项
13
14
0
0
时间戳请求
时间戳应答
15
16
0
0
信息请求(作废不用)
信息应答(作废不用)
17
18
0
0
地址掩码请求
地址掩码应答
(上图列出了所有的ICMP报文类型)。
一般来说,如果不能Ping到某台主机,那么就不能Telnet或者FTP到那台主机。
反过来,如果不能Telnet到某台主机,那么通常可以用Ping程序来确定问题出在哪里。
Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”。
在本文中,我们将使用Ping程序作为诊断工具来深入剖析ICMP。
Ping还给我们提供了检测IP记录路由和时间戳选项的机会。
几年前我们还可以作出这样没有限定的断言,如果不能Ping到某台主机,那么就不能Telnet或FTP到那台主机。
随着Internet安全意识的增强,出现了提供访问控制列表的路由器和防火墙,那么像这样没有限定的断言就不再成立了。
一台主机的可达性可能不只取决于IP层是否可达,还取决于使用何种协议以及端口号。
Ping程序的运行结果可能显示某台主机不可达,但我们可以用Telnet远程登录到该台主机的25号端口(邮件服务器)。
1.1.1ping是如何工作的
首先,ping发送echorequestpacket到某个地址,然后等待应答(reply),当echorequest到达目标地址以后,在一个有效的时间内(timeout之前)返回echoreplypacket给源地址.这样即说明能够ping通(中兴的router的timeout值默认为2秒)。
我们称发送回显请求的ping程序为客户,而称被ping的主机为服务器。
大多数的TCP/IP实现都在内核中直接支持Ping服务器—这种服务器不是一个用户进程。
ICMP回显请求和回显应答报文如下图所示:
078151631
类型(0或8)
代码(0)
检验和
标识符
序号
选项数据
对于其他类型的ICMP查询报文,服务器必须响应标识符和序列号字段。
另外,客户发送的选项数据必须回显,假设客户对这些信息都会感兴趣。
示例:
用来测试物理网络,最常用在所测试IP后加-t是等待用户去中断测试结果,
C:
\WINDOWS>ping
Pingingwith32bytesofdata:
Replyfrom:
bytes=32time<10msTTL=128
Replyfrom:
bytes=32time<10msTTL=128
Replyfrom:
bytes=32time<10msTTL=128
Replyfrom:
bytes=32time<10msTTL=128
Pingstatisticsfor:
Packets:
Sent=4,Received=4,Lost=0(0%loss),
Approximateroundtriptimesinmilli-seconds:
Minimum=0ms,Maximum= 0ms,Average= 0ms
Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。
根据返回的信息,你就可以推断TCP/IP参数是否设置得正确以及运行是否正常。
需要注意的是:
成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。
简单的说,Ping就是一个测试程序,如果Ping运行正确,你大体上就可以排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。
但由于可以自定义所发数据报的大小及无休止的高速发送,Ping也被某些别有用心的人作为DDOS(拒绝服务攻击)的工具,曾经Yahoo就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量Ping数据包而瘫痪的。
按照缺省设置,Windows上运行的Ping命令发送4个ICMP(网间控制报文协议)回送请求,每个32字节数据,如果一切正常,你应能得到4个回送应答。
Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。
如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。
Ping还能显示TTL(TimeToLive存在时间)值,你可以通过TTL值推算一下数据包已经通过了多少个路由器:
源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)返回时TTL值。
例如,返回TTL值为119,那么可以推算数据报离开源地址(也就是被Ping主机)的TTL起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。
可能有的学员注意到,有时返回的Ping包的起始值是64,有时是128或256。
这些值是由被Ping主机或设备的操作系统来决定的,后面会讲到。
1.1.2Ping命令参数及使用技巧
1.1.2.1参数介绍
对于下命令相信大家已经再熟悉不过了,但是能把ping的发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。
现在我就参照命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了/IP以后才可以使用:
[-t][-a][-ncount][-llength][-f][-ittl][-vtos][-rcount][-scount]{-jcomputer-list]|[-kcomputer-list}[-wtimeout]target-name
可选参数:
1.-t:
PingthespecifiedhostuntilseestatisticsandcontinuetypeControl-Break;Tostop-typeControl-C.
不停的地方主机,直到你按下Control-C。
此没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
2.-a:
Resolveaddressestohostnames.
解析计算机NetBios名。
示例:
C:
\>-a
Pinging[]with32bytesofdata:
Replyfrom:
bytes=32time<10msTTL=254
Replyfrom:
bytes=32time<10msTTL=254
Replyfrom:
bytes=32time<10msTTL=254
Replyfrom:
bytes=32time<10msTTL=254
Pingstatisticsfor:
Packets:
Sent=4,Received=4,Lost=0(0%loss),Approximateroundtriptimesinmilli-seconds:
Minimum=0ms,Maximum=0ms,Average=0ms
从上面就可以知道为的计算机NetBios名为。
3.–n:
countNumberofrequeststosend.
发送count指定的Echo包数。
在默认情况下,一般都只发送四个包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
示例:
C:
\>-n50
Pingingwith32bytesofdata:
Replyfrom:
bytes=32time=50msTTL=241
Replyfrom:
bytes=32time=50msTTL=241
Replyfrom:
bytes=32time=50msTTL=241
Requesttimedout.
………………
Replyfrom:
bytes=32time=50msTTL=241
Replyfrom:
bytes=32time=50msTTL=241
Pingstatisticsfor:
Packets:
Sent=50,Received=48,Lost=2(4%loss),Approximateroundtriptimesinmilli-seconds:
Minimum=40ms,Maximum=51ms,Average=46ms
从以上我就可以知道在给发送50个包的当中,返回了48个,其中有两个由于未知原因丢失,这48个包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。
4.–l:
sizeSendbuffersize.
定义包大小。
在默认的情况下windows的发送的包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了的包大小。
虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:
(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
C:
\>-l65500-t
Pingingwith65500bytesofdata:
Replyfrom:
bytes=65500time<10msTTL=254
Replyfrom:
bytes=65500time<10msTTL=254
………………
这样它就会不停的向计算机发送大小为65500byt的包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和服务完全停止,由此可见威力非同小可。
5.-f:
SetDon'tFragmentflaginpacket.
在包中发送“不要分段”标志。
在一般你所发送的包都会通过路由分段再发送给对方,加上此参数以后
路由就不会再分段处理。
6.–i:
TTLTimeToLive.
指定TTL值在对方的系统里停留的时间。
此参数同样是帮助你检查网络运转情况的。
7.–v:
TOSTypeOfService.
将“服务类型”字段设置为tos指定的值。
8.–r:
countRecordrouteforcounthops.
在“记录路由”字段中记录传出和返回包的路由。
在一般情况下你发送的包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?
通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,
9.–s:
countTimestampforcounthops.
指定count指定的跃点数的时间戳。
此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
10.–j:
host-listLoosesourceroutealonghost-list.
利用computer-list指定的计算机列表路由数据包。
连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为9。
11.–k:
host-listStrictsourceroutealonghost-list.
利用computer-list指定的计算机列表路由数据包。
连续计算机不能被中间网关分隔(路由严格源)IP允许的最大数量为9。
12.–w:
timeoutTimeoutinmillisecondstowaitforeachreply.
指定超时间隔,单位为毫秒。
此参数没有什么其他技巧。
13.target-name:
指定要ping的远程计算机。
1.1.2.2ping命令的其他技巧:
在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:
[[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:
000000ff
255---FF
128---80
64----40
32----20。
它的作用可以从下面的示例中看出来:
1.判断对方主机操作系统
ping一个主机地址后,从TTL值就可看出对方操作系统
TTL=64或255为linux
TTL=128为windows2000/NT/XP
TTL=32为windows98
TTL=255为UNIX
可能有人ping过后会问我的TTL值为什么只有47呢
那么这也就是ping命令的下一个用途了
2.判断路由器数量
当用ping命令向一个目标主机发送ICMP数据包时,每经过一个路由器或网络设备时就会把TTL值递减1,当值为0时路由装置会把这个ICMP数据包丢掉。
如果ICMP顺利到达目标主机后所返回的TTL值就会相应减少,减少的值就是路由器的数量,剩余值和以上四个中那个最接近就是所对应的操作系统了。
那么那个47与64最接近,所以可以判断对方主机是linux操作系统。
这条网络上的路由器设备就有17个。
1.1.2.3Ping命令的返回信息
一些返回的符号的含义如下:
1.叹号(!
)代表成功收到响应
2.句号(.)代表在等待应答的时候超时间。
“RequestTimedOut”这个信息表示对方主机可以到达到TIMEOUT,这种情况通常是为对方拒绝接收你发给它的数据包造成数据包丢失。
大多数的原因可能是对方装有防火墙或已下线。
3.U代表目标不可达(destinationunreachable)或接收到错误的PDU。
“DestinationNetUnreachable”这个信息表示对方主机不存在或者没有跟对方建立连接。
这里要说明一下“DestinationNetUnreachable”和“timeout”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现“timeout”,如果路由表中连到达目标的路由都没有,那就会出现“DestinationNetUnreachable”。
4.Q代表sourcequench,说明目标地址过于繁忙。
“Sourcequenchreceived”信息比较特殊,它出现的机率很少。
它表示对方或中途的服务器繁忙无法回应。
5.M代表不能分片(fragment)
6.问号()代表未知的包的类型
7.符号&代表包的生存期(lifetime)超出
8.“BadIPaddress”这个信息表示你可能没有连接到DNS服务器所以无法解析这个IP地址,也可能是IP地址不存在。
1.1.3用Ping命令检测网络
1.1.3.1通过Ping检测网络故障的典型次序
正常情况下,当你使用Ping命令来查找问题所在或检验网络运行情况时,你需要使用许多Ping命令,如果所有都运行正确,你就可以相信基本的连通性和配置参数没有问题;如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。
下面就给出一个典型的检测次序及对应的可能故障:
1.使用ipconfig/all观察本地网络设置是否正确,这条命令要在命令行模式下才可以使用。
2.ping――这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。
如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。
3.ping本机IP――这个命令被送到你计算机所配置的IP地址,你的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。
出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。
如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。
例如:
本机IP地址为:
。
则执行命令Ping。
如果网卡安装配置没有问题,则应有类似下列显示:
Replayfrombytes=32time<1msTTL=128
Replayfrombytes=32time<1msTTL=128
Replayfrombytes=32time<1msTTL=128
Replayfrombytes=32time<1msTTL=128
Pingstatisticsfor
PacketsSent=4Received=4Lost=00%loss
Approximateroundtriptimesinmilli-seconds
Minimum=0msMaxiumu=1msAverage=0ms
如果在MS-DOS方式下执行此命令显示内容为:
Requesttimedout,则表明网卡安装或配置有问题。
将网线断开再次执行此命令,如果显示正常,则说明本机使用的IP地址可能与另一台正在使用的机器IP地址重复了。
如果仍然不正常,则表明本机网卡安装或配置有问题,需继续检查相关网络配置。
4.ping局域网内其他IP――这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。
收到回送应答表明本地网络中的网卡和载体运行正确。
但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。
5.ping网关IP――这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
假定网关IP为:
,则执行命令Ping。
在MS-DOS方式下执行此命令,如果显示类似以下信息:
Replyfrombytes=32time=9msTTL=255
Replyfrombytes=32time=9msTTL=255
Replyfrombytes=32time=9msTTL=255
Replyfrombytes=32time=9msTTL=255
Pingstatisticsfor
PacketsSent=4Received=4Lost=00%loss
Approximateroundtriptimesinmilli-seconds
Minimum=1msMaximum=9msAverage=5ms
则表明局域网中的网关路由器正在正常运行。
反之,则说明网关有问题。
6.ping远程IP――如果收到4个应答,表示成功的使用了缺省网关。
对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。
这一命令可以检测本机能否正常访问Internet。
比如本地电信运营商的IP地址为:
。
在MS-DOS方式下执行命令:
Ping,如果屏幕显示:
Replyfrombytes=32time=33msTTL=252
Replyfrombytes=32time=21msTTL=252
Replyfrombytes=32time=5msTTL=252
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络故障 诊断 常用工具 详解