怎么用ping命令改变ttl值

怎么用ping命令改变ttl值,第1张

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。

有人说TTL值不同对应不同的 *** 作系统。

TTL=32 Windows 9x/Me

TTL=64 LINUX

TTL=128 Windows 200x/XP

TTL=255 Unix

TTL(生存时间)

TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。

Windows 95/98中TTL的缺省值为32。有人建议当到达一个节点比较困难时,把此值设为128。ping和tracerouter都使用TTL值以尝试到达给定的主机或跟踪到那个主机的路由。traceroute把包的TTL值设得较小,使它在到达目的的路上被各个路由器连续的丢弃。发出包到受到返回的ICMP报文之间的时间用来计算从一个路由器到另一个路由器的时间。

使用多路复用的IP协议,TTL值表示一个包被转发的范围。有以下转换:0, 限制在同一主机 1, 限制在同一子网 32, 限制在同一节点 64, 限制在同一区域(region)128,限制在同一大陆(continent)255,

由于不同的 *** 作系统的默认TTL值不同,因此有文章说可以通过返回的TTL值判断目标系统的类型,这是正确的,但不是TTL的功能,只是对TTL理解的一个应用。TTL的值可以修改。有些特殊的、系统(如NIDS)会定义特殊的TTL值,以拒绝非法访问数据进入。我们在执行PING命令时可以用-i参数指定TTL值,大家可以将TTL设置为0,则该包将被立即丢弃。有时我们执行了一个PING 命令,在繁华时却繁华了另一个地址,并带有一个英语的提示(大致意思是TTL无效),则表示该包在到达目标之前(也就是到返回IP位置时),包所带的TTL已经为0了或小于下一网段许可通过的TTL值了,该包已经被路由丢弃了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11059487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存