IT小能手 影视后期
电视民工 资深站长

Ping中的TTL

举例来说:

 

  以下是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。

 收藏 (0) 打赏

您可以选择一种方式打赏本站

支付宝扫一扫打赏

微信钱包扫描打赏

1、本站名称:LonHowe Blog
2、本站永久网址:https://lonhowe.cn
3、本站部分文章内容可能来源于网络(除特别注明原创外),仅供大家学习与参考,如需转载请注明出处。如有侵权,请给我留言联系我们进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布任何违法的相关信息,访客如发现请给我留言向我们举报,同时我们会保留相关记录,必要时上报相关部门。
6、本站部分文章存在时效性,若有错误或已失效,请给我留言联系我们,我们会第一时间更新。
文章名称:《Ping中的TTL》
文章链接:https://lonhowe.cn/74.html
分享到: 生成海报
一个爱折腾的狮子座少年。

热门文章

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

IT、数码、科技、资源、教程、建站、站长、源码、生活、杂谈

关于本站服务条款
切换注册

登录

点击按钮进行验证

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活

点击按钮进行验证