当前位置:首页 > WEB技术 > 正文内容

Ping中的TTL

lonhowe13年前 (2011-09-02)WEB技术540

举例来说:

 

  以下是ping曙光博客的返回值:

 

  C:\Documents and Settings\user>ping

 

  Pinging [66.235.202.42] with 32 bytes of data:

 

  Reply from 66.235.202.42: bytes=32 time=254ms TTL=51

 

  Reply from 66.235.202.42: bytes=32 time=256ms TTL=51

 

  Request timed out.

 

  Reply from 66.235.202.42: bytes=32 time=260ms TTL=51

 

  Ping statistics for 66.235.202.42:

 

  Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),

 

  Approximate round trip times in milli-seconds:

 

  Minimum = 254ms, Maximum = 260ms, Average = 256ms

 

  从结果中可以看出曙光博客服务器的IP地址是:66.235.202.42,所用的时间是256ms等,那TTL等与51是什么意思呢?

 

  TTL是生存时间的意思,就是说这个ping的数据包能在网络上存在多少时间。当对网络上的主机进行ping操作的时候,本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。就像上面ping曙光博客的时候第三次那样,出现Request timed out的情况,增加TTL来减少网络资源的消耗。默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。(这个是从网络上找到的),曙光博客的目的主机是采用FreeBSD系统的(可能已经更换),在这里可能TTL值是64,而不是UNIX主机的255,所以在从这里到目的主机经过了64-51=13个路由。当不知道目的主机的操作系统的时候我们可以根据TTL来猜测,但是不一定100%准确,如果目的主机是windows,但是经过了比如75个路由器,那么TTL的返回值是128-75=53,那么你可能认为这个目的主机是Linux系统,但是一般不会经过那么多的路由器,所以通过TTL来判断目的主机的操作系统还是有一定的依据的。

 

 

TTL:(Time To Live ) 生存时间

 

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

 

  TTL 是由发送主机设置的,以防止数据包不断在IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。

 

  使用PING时涉及到的ICMP报文类型

 

  一个为ICMP请求回显(ICMP Echo Request)

 

  一个为ICMP回显应答(ICMP Echo Reply)

 

  TTL 字段值可以帮助我们识别操作系统类型。

 

  UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255

 

  Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64

 

  微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128

 

  微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32

 

  当然,返回的TTL值是相同的

 

  但有些情况下有所特殊

 

  LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64

 

  FreeBSD 4.1, 4.0, 3.4;

 

  Sun Solaris 2.5.1, 2.6, 2.7, 2.8;

 

  OpenBSD 2.6, 2.7,

 

  NetBSD

 

  HP UX 10.20

 

  ICMP 回显应答的 TTL 字段值为 255

 

  Windows 95/98/98SE

 

  Windows ME

 

  ICMP 回显应答的 TTL 字段值为 32

 

  Windows NT4 WRKS

 

  Windows NT4 Server

 

  Windows 2000

 

  Windows XP

 

  ICMP 回显应答的 TTL 字段值为 128

 

  这样,我们就可以通过这种方法来辨别操作系统

 

  TTL值的注册表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255。

扫描二维码推送至手机访问。

版权声明:本文由IT之家发布,如需转载请注明出处。

本文链接:https://www.it678.com/post/78.html

分享给朋友:

“Ping中的TTL” 的相关文章

IIS MIME设置

IIS MIME设置

windows 2003安装好IIS之后默认是支持.shtml的,只要在“WEB服务扩展”允许“在服务器前端的包含文件”即可。windows 2000,则需在IIS里添加一个应用程序扩展名映射。可执行文件在: C:\WINDOWS\system32\i...

WIN2003服务器安全配置终极技巧

WIN2003服务器安全配置终极技巧

网上流传的很多关于windows server 2003系统的安全配置,但是仔细分析下发现很多都不全面,并且很多仍然配置的不够合理,并且有很大的安全隐患,今天我决定仔细做下极端BT的2003服务器的安全配置,让更多的网管朋友高枕无忧。 .  .  .  .  .  .  我们配置的服务器需要提供支持...

彻底解决DedeTag Engine Create File False问题

用DEDE织梦内容管理系统(dedecms)做站,难免出现DedeTag Engine Create File False这个问题。笔者试用了很多的解决方法。最后找到最彻底的一种解方法:一刀切!方法如下:    首先,说说DedeTag Engine Create File False问题出现的原理...

windwos 2003 iis 应用程序池设置

这段时间人都要搞崩溃了,服务器经常就如死机般,网站不响应,远程登陆也连接不上,每次都要持续半个多钟头。 事件查看器中报错: 为应用程序池 'DefaultAppPool' 提供服务的进程启动时间超过了限制 为应用程序池 'DefaultAppPool' 提供服务的进程无法响应 Ping 经...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。