Welcome To Heike07's Blog.

欢迎来到Heike07官方博客

ping 命令-根据TTL判断对方是什么操作系统

 

ping 命令-根据TTL判断对方是什么操作系统

  • 首先先来学习一下定义~

TTL(Time To Live,生存时间),是IP协议包中的一个值,指定数据包被路由器丢弃之前允许通过的网段数量,数据包每经过路由器转发一次都至少要把TTL减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。

  • TTL 是由发送主机设置的,TTL字段值可以帮助我们识别操作系统类型。

下面是默认操作系统 TTL。

 Liunx                             64

Windows 2000/NT     128

 Windows系列              32

 Unix系列                     255

  • 实际操作一下~

我们可以更改注册表设置TTL的值,可以修改,但不能大于十进制的255,

使用ping发现的TTL可以粗略判断对方是什么操作系统,中间经过了多少个路由器。

《ping 命令-根据TTL判断对方是什么操作系统》

下面使用ping返回来的TTL值判断百度的操作系统以及途经的路由器。

可以返回来的数据包TTL值为54,接近64,可以初步断定其是Linux操作系统,

中间经过10个路由器到达本机因此TTL变为54。

使用ping后面添加i参数,可以更改计算机发送ICMP数据包的TTL值,如下所示,数据包-i后面添加了1,

从网关(也就是第一个路由器)就返回TTL在传输中过期。

如果是2,就会从第二个路由器返回TTL在传输过程中过期,

如果输入3,我们就可以不用使用pathping,也能判断数据包经过的路由器。

点赞

发表回复