Ping结果中TTL详解

发表于2017-03-15
评论0 1w浏览

首先来科普一下什么是TTL:TTL值(Time To Live)生存时间又称为生存周期.就是说这个ping的数据包能在网络上存在多少时间。

当我们对网络上的主机进行ping操作的时候,我们本地机器会发出一个ICMP数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。出现Request timed out的情况,增加TTL来减少网络资源的消耗。
那TTL等与52是什么意思呢?
默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255,当数据包传送到一个路由器之后,TTL就自动减1, 所以:
52 = 系统TTL默认值 - 经过的路由个数。

重点来了:
我窗口显示的是Windows系统啊,为什么不直接写64-经过的路由个数 = 52呢?这也是大家平时不太注意的地方,
因为这里的系统TTL默认值 是远端要ping 的服务端的系统TTL默认值 ,因为不同系统的默认值不同,因此无法确定远端的系统是什么操作系统,(当然,例如TTL为240,那肯定一下子就猜到了)

---------------------------------------
附:一些常用系统的TTL默认值
LINUX 64 
WIN2K/NT/XP 128 
UNIX 系列 255


如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签:

0个评论