ping服务器时显示的ttl是什么意思,运行PING本机IP的时候显示TTL=64是什么意思啊?这个数值? 爱问知识人…

ping服务器时显示的ttl是什么意思,运行PING本机IP的时候显示TTL=64是什么意思啊?这个数值? 爱问知识人…这个数值说明你的机子安装的是LINUX系统

ping服务器时显示的ttl是什么意思,运行PING本机IP的时候显示TTL=64是什么意思啊?这个数值?

这个数值说明你的机子安装的是LINUX系统。数值本身无所谓好坏。

TTL:生存时间

指定数据报被路由器丢弃之前允许通过的网段数量。

TTL是由发送主机设置的,以防止数据包不断在IP互联网络上永不终止地循环。

转发IP数据包时,要求路由器至少将TTL减小1。

TTL字段值可以帮助我们识别操作系统类型(不完全准确,因为TTL是可以修改的)。

LINUX64

WIN2K/NT/xp128

WINDOWS98/me32

UNIX系列255

具体ping命令的知识如下:

ping是一个很常用的小工具,它主要用于确定网络的连通性问题。

使用ping命令后,常见的出错信息通常分为3种:

1、Unknownhost:不知名主机这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。

故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

2、Noanswer:无响应这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信·

息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确:本地或中心的路由器没有;1::作:

通信线路有故障;中心主机存在路由选择问题。

1

3、Requesttimbdout:超时工作站与中心主机的连接超时,数据包全部丢失of原因:可能是到路由器的连接出现

问题,或路由器不能通过,也可能是中心主机已经关机或死机。

如何用ping命令查找无法上网的原因?

1.Ping命令的语法格式:

有必要先给不了解Ping命令的人介绍一卜Ping命令的具体语法格式:ping目的地址[参数1J[参数2]……

其中目的地址是指被测试计算机的IP地址或域名。

主要参数有:

a:解析主机地址。

n:数据:发出的测试包的个数,缺省值为4。

l:数值:所发送缓冲区的大小。

t:继续执行Ping命令,直到用户按Ctrl/C终上。

有关hng的其他参数,可通过在MS-DOS提示符—卜运行Ping或Ping—?命令来查看。

2.hng命令的应用技巧:

用Ping::[:具检查网络服务器和任意一台客户端上TCP/IP协议的:]二作情况时,只要在网络中其他任何一台计算机上Ping

该计算机的IP地址即可。

例如要检查网络文件服务器192.192.225.225HPQW上的TCP/IP协议二[:作是否正常,只要在

开始菜单下的“运行”子项中键入Ping192.192.225.225就可以了。如果HPQW的TCP/IP协议:[:作正常,即会以DOS

屏幕方式显示如下所示的信息:

Pinging192.192.225.225with32byteSofdara:

Replyfrom192.192.225,225:bytes=32time=lmsTTL二128

Replyfrom192.192,225.225:bytes=32timeping61。

152。93。131

Pinging61。152。93。131with32bytesofdata:

Replyfrom61。152。93。131:bytes=32time=21msTTL=118

Replyfrom61。

152。93。131:bytes=32time=19msTTL=118

Replyfrom61。152。93。131:bytes=32time=18msTTL=118

Replyfrom61。152。93。

131:bytes=32time=22msTTL=118

Pingstatisticsfor61。152。93。131:

Packets:Sent=4,Received=4,Lost=0(0%loss

Approximateroundtriptimesinmilli-seconds:

Minimum=18ms,Maximum=22ms,Average=20ms

D:DocumentsandSettingshx>ping61。

152。104。40

Pinging61。152。104。40with32bytesofdata:

Replyfrom61。152。104。40:bytes=32time=28msTTL=54

Replyfrom61。

152。104。40:bytes=32time=18msTTL=54

Replyfrom61。152。104。40:bytes=32time=18msTTL=54

Replyfrom61。152。104。

40:bytes=32time=13msTTL=54

Pingstatisticsfor61。152。104。40:

Packets:Sent=4,Received=4,Lost=0(0%loss

Approximateroundtriptimesinmilli-seconds:

Minimum=13ms,Maximum=28ms,Average=19ms

第一台TTL为118,则基本可以判断这是一台Windows机器,从我的机器到这台机器经过了10个节点,因为128-118=10。

而第二台应该是台Linux,理由一样64-54=10。

了解了上面的东西,可能有人会有一些疑问,例如以下:

1,不是说包可能走很多路径吗,为什么我看到的4个包TTL都是一样的,没有出现不同?

这是由于包经过的路径是经过了一些最优选择算法来定下来的,在网络拓扑稳定一段时间后,包的路由路径也会相对稳定在一个最短路径上。

具体怎么算出来的要去研究路由算法了,不在讨论之列。

2,对于上面例子第二台机器,为什么不认为它是经过了74个节点的Windows机器?因为128-74=54。

对于这个问题,我们要引入另外一个很好的ICMP协议工具。

不过首先要声明的是,一个包经过74个节点这个有些恐怖,这样的路径还是不用为好。

要介绍的这个工具是tracert(*nix下为traceroute),让我们来看对上面的第二台机器用这个命令的结果

D:DocumentsandSettingshx>tracert61。

152。104。40

Tracingrouteto61。152。104。40overamaximumof30hops

113ms16ms9ms10。120。32。1

29ms9ms11ms219。

233。244。105

312ms10ms10ms219。233。238。173

415ms15ms17ms219。233。238。13

514ms19ms19ms202。96。222。

73

614ms17ms13ms202。96。222。121

714ms15ms14ms61。152。81。86

815ms14ms13ms61。152。87。162

916ms16ms28ms61。

152。99。26

1012ms13ms18ms61。152。99。94

1114ms18ms16ms61。152。104。40

Tracecomplete。

从这个命令的结果能够看到从我的机器到服务器所走的路由,确实是11个节点(上面说10个好像是我犯了忘了算0的错误了,应该是64-54 1,嘿嘿),而不是128的TTL经过了70多个节点。

既然已经说到这里了,不妨顺便说说关于这两个ICMP命令的高级一点的东西。

首先是ping命令,其实ping有这样一个参数,可以无视操作系统默认TTL值而使用自己定义的值来发送ICMPRequest包。

例如还是用那台Linux机器,用以下命令:

D:DocumentsandSettingshx>ping61。152。104。40-i11

Pinging61。152。104。40with32bytesofdata:

Replyfrom61。

152。104。40:bytes=32time=10msTTL=54

Replyfrom61。152。104。40:bytes=32time=13msTTL=54

Replyfrom61。152。104。

40:bytes=32time=10msTTL=54

Replyfrom61。152。104。40:bytes=32time=13msTTL=54

Pingstatisticsfor61。152。104。

40:

Packets:Sent=4,Received=4,Lost=0(0%loss),

Approximateroundtriptimesinmilli-seconds:

Minimum=10ms,Maximum=13ms,Average=11ms

D:DocumentsandSettingshx>

这个命令我们定义了发包的TTL为11,而前面我们知道,我到这台服务器是要经过11个节点的,所以这个输出和以前没什么不同。

现在再用这个试试看:

D:DocumentsandSettingshx>ping61。152。104。40-i10

Pinging61。152。104。40with32bytesofdata:

Replyfrom61。

152。99。94:TTLexpiredintransit。

Replyfrom61。152。99。94:TTLexpiredintransit。

Replyfrom61。152。99。94:TTLexpiredintransit。

Replyfrom61。152。99。94:TTLexpiredintransit。

Pingstatisticsfor61。152。104。40:

Packets:Sent=4,Received=4,Lost=0(0%loss),

Approximateroundtriptimesinmilli-seconds:

Minimum=0ms,Maximum=0ms,Average=0ms

D:DocumentsandSettingshx>

可以看到,结果不一样了,我定义了TTL为10来发包,结果是TTLexpiredintransit。

就是说在到达服务器之前这个包的生命周期就结束了。注意看这句话前面的ip,这个ip恰好是我们前面tracert结果到服务器之前的最后1个ip,包的TTL就是在这里减少到0了,根据我们前面的讨论,当TTL减为0时设备会丢弃包并发送一个TTL过期的ICMP反馈给源地址,这里的结果就是最好的证明。

通过这里再次又证明了从我机器到服务器是经过了11个节点而不是70多个,呵呵。

最后再巩固一下知识,有人可能觉得tracer这个命令很神奇,可以发现一个包所经过的路由路径。其实这个命令的原理就在我们上面的讨论中。

想象一下,如果我给目的服务器发送一个TTL为1的包,结果会怎样?

根据前面的讨论,在包港出发的第一个节点,TTL就会减少为0,这时这个节点就会回应TTL失效的反馈,这个回应包含了设备本身的ip地址,这样我们就得到了路由路径的第一个节点的地址。

因此,我们继续发送TTL=2的包,也就受到第二个节点的TTL失效回应

依次类推,我们一个一个的发现,当最终返回的结果不是TTL失效而是ICMPResponse的时候,我们的tracert也就结束了,就是这么简单。

顺便补一句ping命令还有个-n的参数指定要发包的数量,指定了这个数字就会按照你的要求来发包了而不是默认的4个包。如果使用-t参数的话,命令会一直发包直到你强行中止它。

全部

今天的文章
ping服务器时显示的ttl是什么意思,运行PING本机IP的时候显示TTL=64是什么意思啊?这个数值? 爱问知识人…分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80511.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注