ping服务器,返还得TTL值不一样,windows一般在100以上,linux一般是100一下?

我想要达到的结果

ping服务器,返还得TTL值不一样,windows一般在100以上,linux一般是100一下,这句话对吗?

img

windows一般是128,linux一般是64
不过不一定,看在系统上ttl值配置的是多少。比如windows系统上可以在注册表这里查看ttl值设置的是多少
“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters”,找到“DefaultTTL”

不对,有的嵌入式linux,ttl初始值也为64

TTL(time to live):生存时间,指示了IP数据包可以经过最大的路由器数量,当一个ip数据包每经过一个路由器时,该TTL的值就会减1,当经过的路由器个数超过TTL的值时,该IP数据包就会被路由器抛弃,这样就可以避免数据包在网络中无限传输。
我验证了一下是真的

img

通过查找相关资料,得到如下结论:
通过PING-TTL法来判断服务器操作系统,其原理简单来说∶每个操作系统对TTL值的定义都不同,比如:WINDOWS NT/2000 TTL:128、UNIX TTL:255 ......
操作系统的TTL值一般不会去修改,这就有了这样的方法,通过ping的回显TTL值,来判断对方是什么操作系统。本地Ping测发现回显TTL是105,也许会有这样的疑问,从128或者255降到105都是可以的,这时该如何判定?此时就可以使用tracert工具,来确定损耗值,因此也确定了是从128降到105。另外,结合上面多地Ping 的结果,大体可以判定是Windows系统。
每个操作系统对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大包