请教关于判断网络上的一台主机是什么操作系统!(100分)

  • 主题发起人 主题发起人 mjs
  • 开始时间 开始时间
M

mjs

Unregistered / Unconfirmed
GUEST, unregistred user!
一个朋友说:可以用ping就可以知道,如果ttl >128是非win平台,否则反.
我随后在WWW。SINA。COM。CN WWW。CHINA。COM WWW。21CN。COM 做了几个实验。
请问:
这种说法正确吗? 能不能讲的在详细一点??

谢谢
 
判断主机的操作系统一般可以由4个方面来着手(当然也有其他信号存在):
TTL - 这个数据是操作系统对出站的信息包设置的存活时间
Window Size - 是操作系统设置的窗口大小,这个窗口大小是在发送FIN信息包时包含的选项
DF - 可以查看是否操作系统设置了不准分片位
TOS - 是否操作系统设置了服务类型

例如LINUX,FREEBSD和SOLARIS系统在完整的一个会话过程中窗口的大小是维持不变的,Cisco路由器(如2514)
和WINDOWS/NT的窗口是经常改变的(在一个会话阶段),
 
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,
NetBSDHP UX 10.20 回显应答的 TTL 字段值为 255
Windows 95/98/98SE, Windows ME 回显应答的 TTL 字段值为 32
Windows NT4 WRKS,Windows NT4 Server,Windows 2000 回显应答的 TTL 字段值为 128
这样,我们就可以通过这种方法来辨别操作系统 TTL
LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
UNIX 系列 255
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部