当前位置:邦盛首页 > 资讯中心 > 主机百科 >

目标主机操作系统识别技术

编辑时间 : 2014-03-24 09:43:34  作者:邦盛建站

C:>telnet XXX.XXX.XXX.XXX 80

HEAD / HTTP/1.1

HTTP/1.1 200 OK

Via: 1.1 ADSL2000

Content-Length: 97

Date: Thu, 24 Jan 2002 13:46:56 GMT

Content-Type: text/html

Server: Apache/1.3.20 (Unix) PHP/4.0.6

Last-Modified: Wed, 26 Dec 2001 09:22:54 GMT

ETag: "8715f-61-3c2996ee"

Accept-Ranges: bytes

Keep-Alive: timeout=15, max=100

可以注意到:Server: Apache/1.3.20 (Unix) PHP/4.0.6,这里很明白地"贡献"出WEB服务器的软件版本。

这样直接的连接探测方式,对于这些banner开放的,简直是太容易了,当然,负责的管理员也会屏蔽或者修改掉这些BANNER。

还有一种粗劣而且简单的判别主机操作系统类型的办法就是通过Ping,然后分析得到的TTL值,当然,稍微准确点可以同时在配合Tracert来确定主机原始的TTL值,不过,这种办法很容易被欺骗,比如,在WINDOWS系统中,对注册表的修改:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

Key: DefaultTTL

通过对DefaultTTL的修改,比如:修改成为255,伪装成为一台UNIX主机,就能够造成探测者的错误判断。

对主机使用端口的分析,同样也能够进行操作系统识别,一些操作系统使用特殊的端口,比如:WINDOWS的137、139,WIN2K的445,而且一些网络设备比如入侵检测系统、防火墙等等也都有厂商自己的端口开放。

上面的这些识别方式也是那些负责管理员能够简单应付的方式,这里,我们可以看看高级的主机识别技术,这些技术主要分为两类:主动协议识别和被动协议识别,都是利用各种操作系统在网络协议通讯中使用不同的协议内容(各个厂商有自己的规定),然后对这些不同之处进行分析进行的识别。

Nmap这个强大的扫描工具在远程主机判断上也使用了很多技术,来实现更高级的主机系统检测。这主要是通过主动的TCP/IP协议辨识来实现的,每种操作系统在TCP 交流中总是使用一些具有特性的标志,这些标志在TCP IP数据包的头中表现出来。比如window、ACK序号、TTL等等的不同反应,通过大量的数据分析,然后精确地判断主机系统。这些系统的协议特性包括(这只是一小部分):

FIN识别:发送一个只有FIN标志位的TCP数据包给一个打开的端口并等待回应。正确的RFC793行为是不响应,但有些系统,例如 MS Windows, BSDI, CISCO, HP/UX,MVS,和IRIX 发回一个RESET。

目标主机操作系统识别技术

分享到: 0
+1
0
邦盛网络科技有限公司二维码扫一扫,进入官方网站