不同的 *** 作系统,它的TTL值是不相同的。这里和大家谈谈一些常用的 *** 作系统的默认TTL值,默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。域名的dns解析默认的TTL值一般是60。
二、 *** 作敬卜磨系统的TTL最大值:
TTL最大值为255,如UNIX *** 作系统的TT值初始默认TTL值就是225。不同的系统最大值也是有所不同,对于实验室环境所使用 *** 作系统默认的TTL 最大值是128,所以要视情况而定。
三、如何修改TTL值
首先提醒大家这个TTL最好是设定初始默认值,不要去乱修改。一般情况下改动可能会出现错误,而且我们也不知道修改TTL值才是最合适。当然如果需要修改TTL值的话,修改TTL值其实非常简单。具体 *** 作如下:
1、点击“开始→运行”,在“运行”对话框中输入“regedit”命令并回车,d出“注册表编辑器”对话框,展开“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters”,找到“DefaultTTL”,将该值修改为十进制的“64”,重新启动服务器系统后即可。
2、或者尝试批处理文件来修改TTL值。首先打开记事本txt,将下面的代码粘贴到记事本上面:
@echo REGEDIT4>>ChangeTTL.reg
@echo.>>ChangeTTL.reg
@echo [HKEY_LOCAL_MACHlNESystemCurrentControlSetServicesT cpipParameters]>>ChangeTTL.reg
@echo "DefaultTTL"=dword:000000">>ChangeTTL.reg
@REGEDIT /S/C ChangeTTL.reg
然后在将记事本文件另存为.bat的批处理文件,文件夹自己设置,亮斗然后在运行这个.bat文件。你的 *** 作系统的缺省TTL值就会被修改为ff,即 10进制的255,也就是说把你的 *** 作系统人为地改为UNIX系统了。在修改之后会在当前文件夹.bat的路径上自动生成一个ChangeTTL.reg 的注册表文件。如果你想运行完这个批处理文件而不产生 ChangeTTL.reg文件,可以在此批处理文件的最后一行加上 deltree/Y ChangeTTL.reg,就可以无须弊消确认自动删除ChangeTTL.reg文件 。
友情提示:
3、还有就是通过一些第三方工具来修改你的TTL值,比如苏苏查看TTL值工具就是可以查看TTL值及修改TTL值,建议你可以去试试。
ssh通过跳板机连接内网服务器,发现能闹厅ping通连接不上,检查了/etc /ssh/ssh_config配置文件,以及ssh服务状态,发现一切正常。
Linux下使用ping命令ping另一台主机,返回
From 192.168.2.1 icmp_seq=0 Time to live exceeded
使用telnet命令,返回 telnet: Unable to connect to remote host: No route to host
超时液哗隐,到远程主机没路由,看下你两个机子是不是在同一网段。
TTL即生存时间(time-to-live),指定数据包被路由器丢弃之前允许通过的网段数量。
它是IP(中文全称:网络协议)协议包中的一个值,它告诉网络,数芦历据包在网络中的时间是否太长而应被丢弃。在使用ping命令ping某个ip地址时,会显一个TTL值,TTL是生存时间的意思,就是说这个ping的数据包能在网络上存在多少时间。一般Linux系统的TTL值为64或255,Windows NT/2000/XP系统的默认TTL值为128,Win7系统的TTL值是64,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。
当我们对网络上的主机进行ping *** 作的时候,我们本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。
当TTL被扣到0时,最后一个经手的路由器就会给源主机发来一个Time to live exceeded的ICMP信息。
建议用traceroute命令试一下,如果是跑动态路由的话应该不会有这种问题,很可能是静态路由配置错误
什么是TTLTTL(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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)