首页 热点资讯 义务教育 高等教育 出国留学 考研考公

TTL值各代表什么操作系统

发布网友 发布时间:2022-04-22 07:30

我来回答

1个回答

热心网友 时间:2022-06-17 18:11

什么是TTL
TTL(Time To Live,生存时间)是IP协议包中的一个值,当我们使用Ping命令进行网络连通测试或者是测试网速的时候,本地计算机会向目的主机发送数据包,但是有的数据包会因为一些特殊的原因不能正常传送到目的主机,如果没有设置TTL值的话,数据包会一直在网络上面传送,浪费网络资源。数据包在传送的时候至少会经过一个以上的路由器,当数据包经过一个路由器的时候,TTL就会自动减1,如果减到0了还是没有传送到目的主机,那么这个数据包就会自动丢失,这时路由器会发送一个ICMP报文给最初的发送者。举个例子,如果一个主机的TTL是,那么当它经过个路由器后还没有将数据包发送到目的主机的话,那么这个数据包就会自动丢弃。
如何通过TTL来判断目的主机的操作系统类型
不同的操作系统的默认TTL值是不同的, 所以我们可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。下面是默认操作系统的TTL:
WINDOWS NT/2000 TTL:128
WINDOWS 95/98 TTL:32
UNIX TTL:255
LINUX TTL:
WIN7 TTL:

我们先来看两个例子:

例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,比较接近,所以可以判断出这台机器使用的是Linux的操作系统,-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。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com