使用PING命令 来查看TTL值 从而判断操作系统类型:

TTL=128,这是 WINNT/2K/XP。
TTL=32,这是W IN95/98/ME。
TTL=256,这是 UNIX。
TTL=64,这是 LINUX。

开始菜单—运行—输入CMD—回车,然后在打开的命令提示符窗口中输入:
ping ip 回车即可。

 

TTL Brief  TTL是IP协议包中的一个值,

它告诉网络路由器 包在网络中传输的时间是否太长 而应被丢弃。

有很多原因使包在一定时间内不能被传递到目的地。

例如,不正确的路由表可能导致包的无限循环。

所以需要在包中设置这样一个值,包在每经过一个节点,将这个值减1,

反复这样操作,最终可能造成两个结果:

包在这个值还为正数的时候 到达了目的地,

或者是在经过一定数量的节点后,这个值减为了0。

前者代表完成了一次正常的传输,

后者代表包可能选择了一条非常长的路径 甚至是进入了环路,

这显然不是我们期望的,所以在这个值为0的时候,

网络设备将不会再传递这个包 而是直接将他抛弃,

并发送一个通知给包的源地址,说这个包已死。

 

通过TTL值我们能得到什么

其实TTL值这个东西本身并代表不了什么,

对于使用者来说,关心的问题应该是包是否到达了目的地,而不是经过了几个节点后到达。

但是TTL值还是可以得到有意思的信息的。

每个操作系统对TTL值得定义都不同,这个值甚至可以通过修改某些系统的网络参数来修改,

例如Win2000默认为128,通过注册表也可以修改。

而Linux大多定义为64。

不过一般来说,很少有人会去修改自己机器的这个值的,

这就给了我们机会可以通过ping的回显TTL来大体判断一台机器是什么操作系统。

如你看到112,可能是初始128,跳了16个节点,或者是初始160,跳了48次。

不同的操作系统,它的TTL值默认值是不相同的。

默认情况下,Linux系统的TTL值为64或255,

Windows NT/2000/XP系统的TTL值为128,

Windows 98系统的TTL值为32,

UNIX主机的TTL值为255。
-----------------------------------
从PING命令结果判断操作系统类型
https://blog.51cto.com/u_14036245/4373404