1 什么是TTL?
TTL:(Time To Live)是IP协议包中的一个值,它告诉网络路由器,IP包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。
TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。
以上解释参考TTL的百度百科。
2 可以根据TTL初始值来判断操作系统
不同的操作系统,TTL的初值使不一样的。经过试验观察发现,Linux操作系统,此初始值是64,Windows Sever2003/WindowsXP/Windows Sever2008是128,Unix操作系统,此初始值是255。因此,我们只要对目标机器ping一下,结合路由跟踪命令计算TTL的值初始大小,就基本上能够判断目标机器的操作系统类型。
阅读(2760) | 评论(0) | 转发(0) |