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

操作系统指纹识别工具NmapXprobe的分析和研究
作者:张
来源:《科技传播》2010年第08
        摘要 目前,网络安全与信息安全问题日益严峻,通常黑客们利用操作系统指纹识别工具进行网络扫描,大肆攻击入侵网络服务器与私人计算机。因此,本文全方位地介绍了两个目前最为流行的操作系统指纹识别工具NmapXprobe,对它们的工作原理进行了深入的分析研究,并通过实验测试NmapXprobe在不同的操作系统环境下对远程主机进行扫描探测的能力,比较二者识别操作系统指纹的准确程度,以及归纳总结出在何种情况下,NmapXprobe会达到最准确最可靠的探测结果。
        关键字 Nmap;Xprobe;探测;远程主机
        中图分类号 TP393.08文献标识码 A文章编号 1674-6708(2010)17-0089-03
       
        The Analysis and Research of OS Fingerprint Identification Tools Nmap and Xprobe
        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已经从各个方面改变着人们的工作与生活方式,它已经成为我们生活中必不可少的一部分。但与此同时,黑客们利用网络漏洞大肆攻击入侵网络服务器与私人计算机,使网络安全与信息安全问题日益严峻。因此,为了更好的保护网络不受黑客的攻击,就必须对黑客的攻击方法、攻击原理及过程有深入详细的了解。而网络扫描是黑客攻击的第一步,他们利用一些网络探测工具对远程计算机进行扫描,其目的就是精确地判别出远程目标主机的操作系统的类型与版本、以及查出正在监听的端口等等,从而有针对性地对其实施攻击。
        本文具体分析研究了操作系统指纹识别工具NmapXprobe的工作原理,以及二者在不同操作系统环境下探测远程目标主机的能力与准确性。
        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扫描。
        1
        2 Xprobe的介绍
        Xprobe2是基于ICMP栈指纹特征的主动探测远程操作系统类型的工具,通过主动发送UDPICMP请求报文到目标主机来触发ICMP消息,根据ICMP消息中网络特征值进行基于签名数据库的模糊匹配以及合理的推测,通过模糊矩阵统计分析来探测操作系统,从而确定远程操作系统的类型[3]
        Xprobe2探测过程中,会发送不同类型的数据包到目标主机上,同时也会收到目标主机发送的响应数据包。当每收到响应数据包时,都会根据该数据包的网络特征值进行打分,来预测是何种操作系统的可能性。例如,3分代表肯定,2分代表有可能是,1分代表有可能不是,0
代表肯定不是。然后,针对不同的操作系统类型i,将每次测试的得分数进行加和,以总分来判断远程操作系统的类型,其判断的模糊矩阵(如表2)。在整个探测过程中,Xprobe2将依次进行三类测试,分别是探索模块、信息采集模块和指纹模块(如表3)。因此,Xprobe2Nmap的严格匹配操作系统指纹不同,它会根据与签名数据库探测数据包的特征值推测出结果。
       
        3 实验过程
        在本次测试中,主要是比较NmapXprobe6种不同的操作系统环境下识别远程主机指纹的能力。实验过程会在两个不同的网络环境分别进行,一是在校园网的环境下,二是在ADSL网络环境下。
        首先,无菌检测系统1步是随机挑选了300个网站服务器用于测试的目标主机,为了使实验结果更具普遍性与精确性,300个网站分别分布在世界的各个国家,包括中国、澳洲、新加坡、美国和加拿大等地区。另外,所选的压电陶瓷超声换能器300个网址均可在Netcraft网站上得到相应服务器的详细信息。
        2,选择实验室中的一台机器作为测试的主机,操作系统是Windows XP SP2,连接的网络类型是校园网。
        由于本实验目的是对比NmapXprobe6种不同的操作系统环境下识别远程主机操作系统的能力,因此,在主机上安装软件VMware WorkstationVMware是一款功能强大的桌面虚拟计算机软件,可以提供给用户在单一的桌面上同时运行不同的操作系统,而不会影响到主机原来的操作系统,也就是说不需要重新开机就能在同一主机上使用几个操作系统,非常地方便。
       
        3,VMware中建立虚拟机,分别安装了Linux Redhat Mac OS Solaris 8Windows 2000FreeBSDWindows Server 20036个操作系统。
        电极丝第4,在每个操作系统中下载并安装Nmap[4]Xprobe2[5],然后分别对300个网站服务器的操作系统类型进行探测。
        5,收集整理数据,将探测结果与wwwcraft上记录的信息相比较,从而判断其
结果是否正确。而Netcraft是目前世界上公认的最易用、最即时、最准确的反钓鱼产品,提供了全球网站方方面面的数据调研与分析服务。因此,可以相信Netcraft网站上的数据信息是可靠的。
        6,将主机连接到ADSL网络上大规模定制,重复实验一遍,观察不同的网络连接会否影响NmapXprobe扫描目标主机操作系统的准确率。
        4 实验结果与分析
        通过测试一所得到的数据,分别归纳出NmapXprobe各自在6种不同的操作系统环境下探测远程主机操作系统的正确率,如图2、图3所示。Nmap在操作系统Linux RedhatFreeBSD环境下有较高准确率,分别是69.66%69.23%,而在Windows 2000环境下的正确率则是最低的,识别正确率只有9.52%。而XprobeLinux Redhat环境下有最高的正确率,85.52%,最低的则是在Solaris 8环境下,准确率仅为22.86%。总体来说,NmapXprobe在不同的操作系统环境下扫描识别远程主机指纹的能力是不一样的,例如NmapWindows 2000下识别的能力很弱,准确率仅为9.52%,XprobeWindows 2000下则有着较高的识别能力,正确率达到47.62%,虽然这个结果也不是很理想,但由此我们得出,对于在Windows 2000
个操作系统下,利用Xprobe指纹识别工具有较高的准确性与可信性。
        而由测试二得出结果来看,如图4、图5,它们分别比较了NmapXprobe在校园网与ADSL这两种网络下,浮油回收机各自探测远程操作系统的正确率(准确率1——ADSL,准确率2——校园网)。总的来看,ADSL网络环境下,Nmap会取得比在校园网时更高的准确率,尤其是在FreeBSD系统下,准确率增加了11%。而Xprobe在这两种网络环境中的准确率差异则并不很大。造成这样原因可能是由于ADSL的网速比校园网的要稳定,在探测远程目标主机时,不易发生丢失数据包或延时发/收数据包的情况,所以在ADSL网络环境下会取得更可靠、更准确的结果。
        5 结论
        目前,NmapXprobe是很流行的探测远程主机操作系统的工具,并且被黑客广泛使用,因此,有必要对这两种工具进行分析研究,掌握它们的工作原理,以及归纳总结二者各自的特点。本文一方面分析比较了NmapXprobe这两个工具,另一方面通过实验测试,分别比较了这两个工具在不同的操作系统环境下识别远程主机指纹的能力。希望能为将来开发远程系统指纹技术提供一些思路与启发,设计出识别能力更强,更稳定的操作系统指纹识别工具。

本文发布于:2024-09-22 03:55:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/235115.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:网络   远程   进行   指纹   探测
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议