一、什么是TTL

TTL(Time To

Live,生存时间)是IP协议包中的一个值,当我们使用Ping命令进行网络连通测试或者是测试网速的时候,本地计算机会向目的主机发送数据包,但是有

的数据包会因为一些特殊的原因不能正常传送到目的主机,如果没有设置TTL值的话,数据包会一直在网络上面传送,浪费网络资源。数据包在传送的时候至少会

经过一个以上的路由器,当数据包经过一个路由器的时候,TTL就会自动减1,如果减到0了还是没有传送到目的主机,那么这个数据包就会自动丢失,这时路由

器会发送一个ICMP报文给最初的发送者。举个例子,如果一个主机的TTL是64,那么当它经过64个路由器后还没有将数据包发送到目的主机的话,那么这个数据包就会自动丢弃。

二、如何通过TTL来判断目的主机的操作系统类型

不同的操作系统的默认TTL值是不同的,可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。下面是默认操作系统的TTL:

WINDOWS NT/2000   TTL:128

WINDOWS 95/98     TTL:32

UNIX              TTL:255

LINUX             TTL:64

WIN7          TTL:64

我们先来看两个例子:

例1:

D:\Documents and Settings\hx>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

例2:

D:\Documents and Settings\hx>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

例1里面的TTL值是118,比较接近128,所以我们可以初步判断这台机器的操作系统是Windows操作系

统,128-118=10,所以它经过了10个路由器(不包含本机路由器)到达目的主机。例2中我们可以看到TTL值是54,比较接近64,所以可以判

断出这台机器使用的是Linux的操作系统,64-54=10,所以一共经过了10个路由器(不包含本机路由器)。有人也许会问为什么第二个例子中不认为它的TTL默认值是128,然后经过了74个路由器,所以128-74=54呢?首先,路由器在选择路径的时候会选择最佳的路由路径,当然,如果你想知道它经过了哪些路由器的话,可以使用cmd命令里面的tracert命令来查看,详情如下:

D:\Documents and Settings\hx>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 15 ms 15 ms 17 ms 219.233.238.13

5 14 ms 19 ms 19 ms 202.96.222.73

6 14 ms 17 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.

可以看到,如果不包含本机路由的话(第一个路由地址10.120.32.1为本机网络IP),数据包是经过了10个路由器,而不是前面所说的74个路由器。

三、如何修改本机电脑上面的默认TTL值

通过修改本机上的TTL值可以混淆攻击者的判断(当然,很少有用户会这么做)。TTL值在注册表的位置

是:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

(通过在cmd命令里面输入:regedit,然后回车的方式可以打开注册表)。其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值

了,我们可以修改DefaultTTL里面的TTL默认值,但不能大于十进制的255。

ttl计算机,如何利用生存时间值(TTL)来判断操作系统相关推荐

  1. 计算机网络生存时间单位,TTL(生存时间值)_百度百科

    TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量.TTL是IPv4报头的一个8 bit字段. 注意:TTL与DNS TTL有区别.二者都是生存时间,前者 ...

  2. 如何查看DNS记录的生存时间(TTL)?

    我想查看CNAME记录的生存时间(TTL)值. 我可以使用dig(在Apple Mac OS X上)进行访问,这给了我这样的答案: % dig host.example.gov <*SNIP*& ...

  3. 各省三废排放量和利用熵值法计算环境规制综合指数(1997-2019年)

    一.数据介绍 数据名称:[数据+过程]各省三废排放量和利用熵值法计算环境规制综合指数(1997-2019年) 数据年份:1997-2019年 数据说明:环境规制综合指数是由工业废水排放量.工业 SO2 ...

  4. opencv 图像雾检测_专栏 | OpenCV图像处理专栏十 | 利用中值滤波进行去雾

    原标题:专栏 | OpenCV图像处理专栏十 | 利用中值滤波进行去雾 前言 这是OpenCV图像处理专栏的第十篇文章,介绍一种利用中值滤波来实现去雾的算法.这个方法发表于国内的一篇论文,链接我放附录 ...

  5. 利用熵值法确定指标权重---原理及Python实现

    背景 在进行一些综合评估类项目时,需要给一些指标确定一个合理的权重,用来计算综合得分,这种综合评估类项目在实际的业务中有很多应用,比如:学生奖学金评定方法.广告效果综合评估.电视节目满意度综合评估.用 ...

  6. 用ping追踪计算机的最佳MTU值修改MTU值

    用ping追踪计算机的最佳MTU值&修改MTU值 1.什么是MTU MTU是Maximum Transmission Unit的缩写.意思是网络上传送的最大数据包.MTU的单位是字节. 大部分 ...

  7. 机器学习实战(十)——利用K-均值聚类算法对未标注数据分组

    机器学习实战(十)--利用K-均值聚类算法对未标注数据分组 聚类是一种无监督的学习,即对于训练数据来说并没有已知标签,我们是根据样本之间的相似程度将其划分为多个类. 一.K-均值聚类算法 K-均值算法 ...

  8. 留存率预测(利用T值调整)

    留存率预测(利用T值调整) 本文为<R语言游戏数据分析与挖掘>学习笔记,仅作分享. 由于由幂函数拟合得到的留存率曲线过于平滑,而现实数据往往会出现锯齿状,由幂函数预测得到的数据在后期会出现 ...

  9. 免费的计算机一级操作系统,计算机一级题题库,第二章操作系统

    计算机一级题题库,第二章操作系统 (56页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 25.9 积分 第二章操作系统一.单选题1.在windows屮,下 ...

最新文章

  1. iOS 关闭页面侧滑手势
  2. 自学python需要多长时间-零基础学习Python开发需要多长时间?
  3. 学C/C++的同学们,有福了!
  4. VB6.0使用ADO对象连接数据库
  5. Makefile文件(四)_书写命令
  6. android gridview行分割线,Android使用GridView实现表格分割线效果
  7. 2020腾讯二次元营销通案
  8. 首届React开发者大会于2018年8月18日在广州举办
  9. @Override错误
  10. make: ./libtool:命令未找到
  11. android win7 共享网络打印机,win7设置局域网共享打印机
  12. 邮箱地址是什么?企业邮箱的密码安全
  13. mysql复制表结构创建新表
  14. 美团、点评app抓包及参数分析
  15. 【微信小程序学习笔记02理解与初始准备】【实战天气微信小程序】
  16. eclipse配置https
  17. NYOJ - 独木舟上的旅行
  18. 旧u盘丢失文件如何恢复
  19. WinIo驱动级键盘模拟编程
  20. xShow@Home v5.1.20120908 发布

热门文章

  1. 巴菲特旗下伯克希尔持有48.33万股亚马逊股票 目前价值超过9亿美元
  2. JSR教程1——JSR 303 - Bean Validation介绍
  3. MySQL delete删除数据后,释放磁盘空间
  4. 豪情-关于生活工作学习之感悟-第一篇
  5. 机器人softmove_ABB机器人的各种选项
  6. 七牛云许式伟:我所理解的架构是什么
  7. 提高你的计算机英语阅读能力
  8. shopex木马清除 DNS劫持清除
  9. 实心聚乙烯和发泡聚乙烯到底有什么区别?
  10. 重装系统教程(版本一)