利用ping命令的ttl值来判断服务器操作系统

TTL:生存时间
  指定数据报被路由器丢弃之前允许通过的网段数量。
  TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。
  使用PING时涉及到的 ICMP 报文类型
  一个为ICMP请求回显(ICMP Echo Request)
  一个为ICMP回显应答(ICMP Echo Reply)
  TTL 字段值可以帮助我们识别操作系统类型。

UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32

当然,返回的TTL值是相同的,但有些情况下有所特殊

LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
HP UX 10.20
ICMP 回显应答的 TTL 字段值为 255
Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32
Windows NT4 WRKS
Windows NT4 Server
Windows 2000
ICMP 回显应答的 TTL 字段值为 128

这样,我们就可以通过这种方法来辨别

操作系统    TTL
LINUX      64
WIN2K/NT     128
WINDOWS 系列  32
UNIX 系列    255
ping一个自己看看是什么服务器

C:\>ping www.mcitp.cn

Pinging www.mcitp.cn [119.42.147.146] with 32 bytes of data:

Reply from 119.42.147.146: bytes=32 time=36ms TTL=118
Reply from 119.42.147.146: bytes=32 time=36ms TTL=118
Reply from 119.42.147.146: bytes=32 time=36ms TTL=118
Reply from 119.42.147.146: bytes=32 time=36ms TTL=118

Ping statistics for 119.42.147.146:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 36ms, Maximum = 36ms, Average = 36ms

由此可以判断此服务器用的是windows操作系统

引用通告: 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数:
发表评论
昵 称:
邮 箱:
主 页:
内 容: