操作系统指纹识别工具Nmap与Xprobe的分析和研究_0

  • 格式:doc
  • 大小:98.00 KB
  • 文档页数:5

操作系统指纹识别工具Nmap与Xprobe的分析和研究
摘要 目前,网络安全与信息安全问题日益严峻,通常黑客们利用操作系统指
纹识别工具进行网络扫描,大肆攻击入侵网络服务器与私人计算机。因此,本文全
方位地介绍了两个目前最为流行的操作系统指纹识别工具Nmap与Xprobe,对它
们的工作原理进行了深入的分析研究,并通过实验测试Nmap与Xprobe在不同的
操作系统环境下对远程主机进行扫描探测的能力,比较二者识别操作系统指纹的
准确程度,以及归纳总结出在何种情况下,Nmap与Xprobe会达到最准确最可靠的
探测结果。

关键字 Nmap;Xprobe;探测;远程主机
The Analysis and Study on the Fingerprint Identification Tools Nmap and
Xprobe in Operating System

ZHANG Qi
College of Medical Information Engineering,
Guangdong Pharmaceutical University, Guangzhou 510006, China
Abstract Nowadays network security and information security problem is very
serious. Hackers often use system fingerprinting tool to scan the network, and then
attack some web servers and personal computers. Therefore, this paper introduced
Nmap and Xprobe which are nowadays most popular system fingerprinting tools in all
aspects, deep analysis their working principle, and test Nmap and Xprobe’s scanning
detection abilities under six different operating systems, compare their results. Finally,
it is summarized that Nmap and Xprobe have high-effective and precise detection
results under any circumstances.

Keywords Nmap; Xprobe;detection;remote machine

0 引言
随着网络技术的迅猛发展,今天的Internet已经从各个方面改变着人们的工
作与生活方式,它已经成为我们生活中必不可少的一部分。但与此同时,黑客们利
用网络漏洞大肆攻击入侵网络服务器与私人计算机,使网络安全与信息安全问题
日益严峻。因此,为了更好的保护网络不受黑客的攻击,就必须对黑客的攻击方法、
攻击原理及过程有深入详细的了解。而网络扫描是黑客攻击的第一步,他们利用
一些网络探测工具对远程计算机进行扫描,其目的就是精确地判别出远程目标主
机的操作系统的类型与版本、以及查出正在监听的端口等等,从而有针对性地对
其实施攻击。

本文具体分析研究了操作系统指纹识别工具Nmap与Xprobe的工作原理,以
及二者在不同操作系统环境下探测远程目标主机的能力与准确性。

1 Nmap的介绍
Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network
Mapper),其基本功能有3个:一是探测一组主机是否在线;其次是扫描主机端口,嗅
探所提供的网络服务;三是可以推断主机所用的操作系统[1]。通常,网络管理员利
用Nmap来进行网络系统安全的评估,而黑客则用其扫描网络,通过向远程主机发
送探测数据包,获取主机的响应,并根据主机的端口开放情况,得到网络的安全状
况,寻找存在漏洞的目标主机,从而实施下一步的攻击[2]。

1.1 Nmap的工作原理
Nmap使用TCP/IP协议栈指纹来准确地判断出目标主机的操作类型。首
先,Nmap通过对目标主机进行端口扫描,找出有哪些端口正在目标主机上监听。
当侦测到目标主机上有多于一个开放的TCP端口、一个关闭的TCP端口和一个
关闭的UDP端口时, Nmap的探测能力是最好的。然后,Nmap对目标主机进行一
系列测试(如表1),利用得出的测试结果建立相应的目标主机的Nmap指纹。最后,
将此Nmap指纹与指纹库中指纹进行查找匹配,从而得出目标主机的操作系统类
型。

1.2 Nmap的主要扫描类型

常用的扫描类型有Ping扫描(Ping Sweeping)、端口扫描(PortScanning) 、隐
蔽扫描(Stealth Scanning)、UDP扫描(UDP Scanning)与操作系统识别(OS
Fingerprinting)等等。无论是对内网还是外网的扫描,Nmap都是很灵活的,且语法
非常简单,由Nmap的不同选项和-s标志组成,下面的例子(图1)是一个对内网进行
的Ping扫描。
2 Xprobe的介绍
Xprobe2是基于ICMP栈指纹特征的主动探测远程操作系统类型的工具,通过
主动发送UDP和ICMP请求报文到目标主机来触发ICMP消息,根据ICMP消息
中网络特征值进行基于签名数据库的模糊匹配以及合理的推测,通过模糊矩阵统
计分析来探测操作系统,从而确定远程操作系统的类型[3]。

在Xprobe2探测过程中,会发送不同类型的数据包到目标主机上,同时也会收
到目标主机发送的响应数据包。当每收到响应数据包时,都会根据该数据包的网
络特征值进行打分,来预测是何种操作系统的可能性。例如,3分代表肯定,2分代
表有可能是,1分代表有可能不是,0分代表肯定不是。然后,针对不同的操作系统
类型i,将每次测试的得分数进行加和,以总分来判断远程操作系统的类型,其判断
的模糊矩阵(如表2)。在整个探测过程中,Xprobe2将依次进行三类测试,分别是探
索模块、信息采集模块和指纹模块(如表3)。因此,Xprobe2与Nmap的严格匹配
操作系统指纹不同,它会根据与签名数据库探测数据包的特征值推测出结果。

3 实验过程
在本次测试中,主要是比较Nmap与Xprobe在6种不同的操作系统环境下识
别远程主机指纹的能力。实验过程会在两个不同的网络环境分别进行,一是在校
园网的环境下,二是在ADSL网络环境下。

首先,第1步是随机挑选了300个网站服务器用于测试的目标主机,为了使实
验结果更具普遍性与精确性,这300个网站分别分布在世界的各个国家,包括中
国、澳洲、新加坡、美国和加拿大等地区。另外,所选的300个网址均可在Netcraft
网站上得到相应服务器的详细信息。

第2步,选择实验室中的一台机器作为测试的主机,操作系统是Windows XP
SP2,连接的网络类型是校园网。
由于本实验目的是对比Nmap与Xprobe在6种不同的操作系统环境下识别
远程主机操作系统的能力,因此,在主机上安装软件VMware Workstation。VMware
是一款功能强大的桌面虚拟计算机软件,可以提供给用户在单一的桌面上同时运
行不同的操作系统,而不会影响到主机原来的操作系统,也就是说不需要重新开机
就能在同一主机上使用几个操作系统,非常地方便。