灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2566回复:0

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

楼主#
更多 发布于:2012-08-31 19:26

今天在百度百科中看到一个朋友问在ping一个域名时返回的TTL值大好呢 还是小好呢,自己很少去判断这个ttl一般都是判断 time,一时也愣那了,从网上找了找,大概得了解了这个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 www.atcpu.com,得到的返回值是:

C:Documents and SettingsAdministrator>ping www.atcpu.com

Pinging www.atcpu.com [203.171.239.157] with 32 bytes of data:

Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57

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

57比较接近64 中间可能通过了7个路由,由此来判断所有的操作系统是linux的


喜欢0 评分0
游客

返回顶部