⽤PING命令Ping通显⽰的数据是什么意思?
Ping 命令可以⽤来验证与远程计算机的连接 (该命令只有在安装了TCP/IP协议后才能使⽤)
Pinging 192.168.1.1 with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time=1ms TTL=254
Reply from 192.168.1.1: bytes=32 time<1ms TTL=254
Reply from 192.168.1.1: bytes=32 time<1ms TTL=254
Reply from 192.168.1.1: bytes=32 time<1ms TTL=254
Ping statistics for 192.168.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 45ms, Maximum = 57ms,Average = 50ms.
(1)Pinging 192.168.1.1 with 32 bytes of data: 是什么意思?
正在⽤⼤⼩为32⽐特的数据包ping IP为192.168.1.1的主机
(2)Reply from 192.168.1.1: bytes=32 time=1ms TTL=254是什么意思?
第⼀个发送到192.168.1.1的“32⽐特”的数据包返回,⼤⼩为32⽐特(bytes=32 ),往返⽤时1毫秒(time=1ms ),⽣命值为254(TTL=254 ),TTL即time to live(⽣命值)
(3)Reply from 192.168.1.1: bytes=32 time=1ms TTL=254是什么意思?
第⼆个发送到192.168.1.1的“32⽐特”的数据包返回,⼤⼩为32⽐特(bytes=32 ),往返⽤时1毫秒(time=1ms ),⽣命值为254(TTL=254 ),TTL即time to live(⽣命值)
以下依次类推⼀直到第3个、第4个,其结果都相同。
(4)Ping statistics(统计) for 192.168.1.1是什么意思?
Ping IP地址为192.168.1.1这个主机的统计结果
(5)Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)是什么意思?
Packets:sent = 4------是指⼀共发送了4个PING 包(数据包)
Received = 4——是指接受到4个ping包,这⾥是他发送给别的机器4个包然后别的机器回应他的4个包
lost = 0(0% loss), 表⽰他所发出的包都有回应没有丢失的数据包
发送4个数据包,收到了4个数据包,丢失率为0%
(6)Approximate round trip times in milli-seconds:是什么意思?
milli-seconds——千分之⼀秒(1毫秒)
Approximate round trip times——环绕航⾏的时间⼤约为
数据包环绕航⾏(发送到接收到确认信息)来回时间⼤约在千分之⼀秒(1毫秒)左右
(7)Minimum = 45ms, Maximum = 57ms,Average = 50ms是什么意思?
表⽰最⼩⽤时45ms,最⼤⽤时57ms 平均⽤时间50ms
使⽤ping命令后,常见的出错信息通常分为3种:
ping是⼀个很常⽤的⼩⼯具,它主要⽤于确定⽹络的连通性问题。使⽤ping命令后,常见的出错信息通常分为3种:
1、 Unknown host:不知名主机这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。
故障原因可能是:域名服务器DNS有故障,或者其名字不正确,或者⽹络管理员的系统与远程主机之间的通信线路有故障。
2、 Noanswer:⽆响应这种故障说明本地系统有⼀条通向中⼼主机的路由,但却接收不到它发给该中⼼主机的任何信·息。
故障原因可能是下列之⼀:中⼼主机没有⼯作;
本地或中⼼主机⽹络配置不正确:
本地或中⼼的路由器没有⼯作:
通信线路有故障;中⼼主机存在路由选择问题。
3、 Request timed out:响应超时(客户机与中⼼主机的连接超时)数据包全部丢失。
原因:可能是到路由器的连接出现问题,或路由器不能通过,也可能是中⼼主机已经关机或死机。
Ping命令的语法格式:
注意:
Ping命令的具体语法格式:ping ⽬的地址 [参数1] [参数2]……
其中“⽬的地址”是指被测试计算机的IP地址或域名。主要参数有:
a:解析主机地址——ping KQ(⽹络中⼀台主机的名称) -a
即:通过ping【KQ】这个主机名称,然后解析出【KQ】这个主机的IP地址是多少
n 数据:发出的测试包的个数,缺省值为4——ping www.baidu –n 5
即:发送5个数据包给www.baidu来测试本地到百度服务器的⽹络线路
l 数值:所发送缓冲区(即数据包)的⼤⼩,系统默认为32 bytes
ping 192.168.1.250 –l 500 即:所发送数据包的⼤⼩定义为500(字节bytes)
t:继续执⾏Ping命令,直到⽤户按Ctrl/C终上。
Ping 192.168.1.250 –t ——即:⼀直ping IP地址为192.168.1.250的这台主机,直到⽤户键⼊Ctrl+C终上
(1)⽤Ping命令检测另外⼀台计算机中的 “线路/TCPIP” ⼯作是否正常,则只要在开始菜单下的 “运⾏” ⼦项中键⼊Ping192.168.1.250就可以了。如果“线路/TCPIP” ⼯作正常,即会以DOS
屏幕⽅式显⽰如下所⽰的信息:
Pinging 192.192.225.225 with 32 byteS of dara:
Reply from 192.192.225,225:bytes=32 time=lms TTL⼆128
Reply from 192.192,225.225:bytes=32 time<1mS TTL=128
Reply from 192.192.225.225:byteS’32 timeReply from 192.192.225.225:byteS‘32 timePing StatiStiCe for 192.192.225.225:
PacketS:Sent⼆4,ReceiVed⼆4,LOSt⼆0(0%lOSS)
Approximate round trip timeS in milli-secondS:
Minimum=Oms,Maximum=1mS,Average=OmS
如果⽹络有问题,则返回如下所⽰的响应失败信息:
Pinging 192.192,225.225 with 32 bytes of data
手机unknown是什么意思Reque timed out.(请求超时)
Reque timed out.(请求超时)
Reque timed out.(请求超时)
Ping StatiStiCe for 192.192.225,225:
PacketS:Sent=4,ReceiVed⼆0,LOSt\⼆4(100%lOSS)
Minimum‘0ms,Maximum=OmS,Average’0mS
⽹络故障,建议从以上⼏个⽅⾯来着⼿排查:
《1》是看被测试计算机是否已安装了TCP/IP协议
《2》是检查⼀下被测试计算机的:⽹卡安装是否正确且是否已经连通
《3》重新安装⼀下 “TCP/IP” 协议试⼀下,如果是TCP/IP协议的问题,这时绝对可以彻底解决。
(2)为什么要有 “⽣存周期” 的这个概念。(TTL—time to live)
很显然,⼀个package从 “⼀台机器” 到 “另⼀台机器” 中间需要经过很长的路径,显然这个路径不是单⼀的,是很复杂的,并且很可能存在环路。如果⼀个数据包在传输过程中进⼊了环路,如果不终⽌它的话,它会⼀直循环下去,如果很多个数据包都这样循环的话,那对于⽹络来说这就是灾难了。
所以需要在 “包” 中设置这样⼀个值,包在每经过⼀个节点(路由器、⼯作站、服务器),就将 “TTL这个值减1”,反复这样操作,最终可能造成2个结果:
《1》包在这个值还为正数的时候到达了⽬的地
《2》或者是在经过⼀定数量的节点后,这个值减为了0。
前者代表完成了⼀次正常的传输,后者代表包可能选择了⼀条⾮常长的路径甚⾄是进⼊了环路,这显
然不是我们期望的,所以在这个值为0的时候,⽹络设备将不会再传递这个包⽽是直接将他抛弃,并发送⼀个通知给包的源地址,说这个包已死。
其实TTL值这个东西本⾝并代表不了什么,对于使⽤者来说,关⼼的问题应该是:包是否到达了 “⽬的地” ⽽不是经过了⼏个节点后到达。
(3)每个操作系统对 “TTL” 值得定义都不同,这个值甚⾄可以通过——修改某些系统的 “⽹络参数” 来修改:
例如Win2000默认为128,通过注册表也可以修改。
⽽Linux⼤多定义为64。
不过⼀般来说,很少有⼈会去修改⾃⼰机器的这个值的,这就给了我们机会可以通过ping的回显TTL来⼤体判断⼀台机器是什么操作系统。
(4)以我公司2台机器为例
看如下命令
D:Documents and Settingshx>ping 61.152.93.131
Pinging 61.152.93.131 with 32 bytes of data:
Reply from 61.152.93.131: bytes=32 time=21ms TTL=118
Reply from 61.152.93.131: bytes=32 time=19ms TTL=118
Reply from 61.152.93.131: bytes=32 time=18ms TTL=118
Reply from 61.152.93.131: bytes=32 time=22ms TTL=118
Ping statistics for 61.152.93.131:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss
Approximate round trip times in milli-seconds:
Minimum = 18ms, Maximum = 22ms, Average = 20ms
D:Documents and Settingshx>ping 61.152.104.40
Pinging 61.152.104.40 with 32 bytes of data:
Reply from 61.152.104.40: bytes=32 time=28ms TTL=54
Reply from 61.152.104.40: bytes=32 time=18ms TTL=54
Reply from 61.152.104.40: bytes=32 time=18ms TTL=54
Reply from 61.152.104.40: bytes=32 time=13ms TTL=54
Ping statistics for 61.152.104.40:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 28ms, Average = 19ms
第⼀台TTL为118,则基本可以判断这是⼀台Windows机器,从我的机器到这台机器经过了10个节点,因为128-
118+1=11。⽽第⼆台应该是台Linux,理由⼀样64-54+1=11。
(2)了解了上⾯的东西,可能有⼈会有⼀些疑问,例如以下:
《1》不是说包可能⾛很多路径吗,为什么我看到的4个包TTL都是⼀样的,没有出现不同?
回答:这是由于包经过的路径是经过了⼀些最优选择算法来定下来的,在⽹络拓扑稳定⼀段时间后,包的路由路径也会相对稳定在⼀个最短路径上。具体怎么算出来的要去研究路由算法了,不在讨论之列。
《2》对于上⾯例⼦第⼆台机器,为什么不认为它是经过了74个节点的Windows机器?因为128-74=54。
回答:对于这个问题,我们要引⼊另外⼀个很好的ICMP协议⼯具。不过⾸先要声明的是,⼀个包经过74个节点这个有些恐怖,这样的路径还是不⽤为好。
(3)要介绍的这个⼯具是:ICMP协议⼯具——Tracert(*nix下为Traceroute),让我们来看对上⾯的第⼆台机器⽤这个命令的结果
D:Documents and Settingshx> tracert 61.152.104.40
Tracing route to 61.152.104.40 over a maximum of 30 hops
1 13 ms 16 ms 9 ms 10.120.32.1
2 9 ms 9 ms 11 ms 219.233.244.105
3 12 ms 10 ms 10 ms 219.233.238.173
4 1
5 ms 15 ms 17 ms 219.233.238.13
5 14 ms 19 ms 19 ms 202.96.222.73
6 14 ms 1
7 ms 13 ms 202.96.222.121
7 14 ms 15 ms 14 ms 61.152.81.86
8 15 ms 14 ms 13 ms 61.152.87.162
9 16 ms 16 ms 28 ms 61.152.99.26
10 12 ms 13 ms 18 ms 61.152.99.94
11 14 ms 18 ms 16 ms 61.152.104.40
Trace complete.
从这个命令的结果能够看到从 “我的机器” 到 “服务器” 所⾛的路由,确实是11个节点(上⾯说10个好像是我犯了忘了算0的错误了,应该是64-54+1,嘿嘿),⽽不是128的TTL经过了70多个节点。
。⾸先是“ping命令”,其实ping有这样⼀个既然已经说到这⾥了,不妨顺便说说关于这两个ICMP命令的⾼级⼀点的东西。
参数,可以⽆视操作系统【默认TTL值】⽽使⽤⾃⼰定义的值来发送ICMP Request包。
《1》例如:还是⽤那台Linux机器,⽤以下命令:
D:Documents and Settingshx> ping 61.152.104.40 -i 11
Pinging 61.152.104.40 with 32 bytes of data:
Reply from 61.152.104.40: bytes=32 time=10ms TTL=54
Reply from 61.152.104.40: bytes=32 time=13ms TTL=54
Reply from 61.152.104.40: bytes=32 time=10ms TTL=54
Reply from 61.152.104.40: bytes=32 time=13ms TTL=54
Ping statistics for 61.152.104.40:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 13ms, Average = 11ms
【ping 61.152.104.40 -i 11】这个命令我们定义了发包的TTL为11,⽽前⾯我们知道,我到这台服务器是要经过11个节点的,所以这个输出和以前没什么不同。现在再⽤这个试试看:
《2》例如:还是⽤那台Linux机器,⽤以下命令:
D:Documents and Settingshx> ping 61.152.104.40 -i 10
Pinging 61.152.104.40 with 32 bytes of data:
Reply from 61.152.99.94: TTL expired in transit.
Reply from 61.152.99.94: TTL expired in transit.
Reply from 61.152.99.94: TTL expired in transit.
Reply from 61.152.99.94: TTL expired in transit.
Ping statistics for 61.152.104.40:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
可以看到,结果不⼀样了,我定义了TTL为10来发包,结果是TTL expired in transit.就是说在到达服务器之前这个包的⽣命周期就结束了。
注意看这句话【前⾯的ip=61.152.99.94:】,这个ip恰好是我们前⾯tracert结果到服务器之前的最后1个ip,包的TTL就是在这⾥减少到0了,根据我们前⾯的讨论,当TTL减为0时设备会丢弃包并发送⼀个TTL过期的ICMP反馈给源地址,这⾥的结果就是最好的证明。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论