Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。Nmap工具能够用来扫描电脑上开放的端口,肯定哪些服务运行在哪些端口,而且推断出计算机运行的操做系统。经过使用该工具,能够评估网络系统安全。因此,Nmap是大部分用户所必要的工具之一。本章将对Nmap工具的基础知识进行详细介绍。html
Nmap是一款很是不错的网络扫描工具,支持各类操做系统,如Windows、Linux、Mac OS等。为了帮助用户更好的使用该工具,本节将对Nmap工具作一个简单介绍。数据库
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年建立的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。目前,Nmap工具的最新版本是6.47。ubuntu
因为Nmap工具具备许多优势,因此该工具被普遍应用。其中,Nmap工具的优势以下所示:浏览器
q 灵活:支持数十种不一样的扫描方式,支持多种目标对象的扫描。安全
q 强大:Nmap能够用于扫描互联网上大规模的计算机群。网络
q 可移植:支持主流的操做系统,如Windows、Linux、Unix、Mac OS等;而且其源码开放,方便移植。架构
q 简单:提供默认的操做能覆盖大部分功能,如基本端口扫描,全面扫描。app
q 自由:Nmap做为开源软件,在GPL License的范围内能够自由的使用。工具
q 文档丰富:Nmap官网提供了详细的文档描述。Nmap做者及其它安全专家编写了多部Nmap参考书籍。测试
q 社区支持:Nmsp背后有强大的社区团队支持。
q 赞誉有加:得到不少的奖励,并在不少影视做品中出现(如黑客帝国2、Die Hard4等)。
q 流行:目前Nmap已经被成千上万的安全专家列为必备的工具之一。
Nmap主要包括四个方面的扫描功能,分别是主机发现、端口扫描、应用与版本侦测、操做系统侦测。这四项功能之间,又存在大体的依赖关系。一般状况下顺序关系,如图1.1所示。
图1.1 Nmap功能架构图
下面将详细介绍以上Nmap各功能之间的依赖关系。以下所示:
(1)首先用户须要进行主机发现,找出活动的主机。而后,肯定活动主机上端口情况。
(2)根据端口扫描,以肯定端口上具体运行的应用程序与版本信息。
(3)对版本信息侦测后,对操做系统进行侦测。
在这四项基本功能的基础上,Nmap提供防火墙与IDS(IntrusionDetection System,入侵检测系统)的规避技巧,能够综合应用到四个基本功能的各个阶段;另外Nmap提供强大的NSE(Nmap Scripting Language)脚本引擎功能,脚本能够对基本功能进行补充和扩展。
Nmap使用TCP/IP协议栈指纹准确地判断目标主机的操做系统类型。首先,Nmap经过对目标主机进行端口扫描,找出有哪些端口正在目标主机上监听。当侦测到目标主机上有多于一个开放的TCP端口、一个关闭的TCP端口和一个关闭的UDP端口时,Nmap的探测能力是最好的。Nmap工具的工做原理如表1-1所示。
表1-1 Nmap工做原理
Nmap对目标主机进行一系列测试,如表1-1所示。利用得出的测试结果创建相应目标主机的Nmap指纹。最后,将此Nmap指纹与指纹库中指纹进行查找匹配,从而得出目标主机的操做系统类型。
Nmap常见的扫描类型如表1-2所示。
表1-2 Nmap主要扫描类型
当用户对Nmap工具备一个清晰的认识后,便可安装并使用该工具了。若是要安装该工具,则必需要先获取其软件包。本节将介绍如何获取Nmap工具的安装包。
Nmap工具的官网是http://nmap.org/。在该官网提供了Nmap各类类型包的下载地址。其中,下载地址是:
https://nmap.org/download.html
在浏览器中输入以上地址后,将打开如图1.2所示的界面。
图1.2 Nmap下载页面
在该界面根据本身的系统版本,选择相应的软件包。因为章节的缘由,上图只截取了一部分(包括源码包和Windows二进制包的下载地址)。
经过上一节的介绍,用户能够顺利的获取到Nmap工具的安装包。接下来,用户就能够在操做系统中安装该工具了。为了使任何全部用户均可以很好的使用该工具,下面将分别介绍在Windows和Linux操做系统中安装Nmap工具的方法。
【示例1-1】下面将介绍在Windows下安装Nmap工具的方法。具体操做步骤以下所示:
(1)在Windows下双击下载的Nmap软件包,本例中的软件包名为nmap-6.47-setup.exe。双击该软件包后,将弹出许可协议对话框,如图1.3所示。
(2)该界面显示了安装Nmap工具的许可证协议。这里单击I Agree按钮,将弹出选择组件对话框,如图1.4所示。
图1.3 许可证协议对话框 图1.4 选择组件对话框
(3)在该界面选择安装Nmap其它功能的一些组件,如Zenmap、Ndiff、Nping等。若是用户不想安装某组件的话,将组件名前面复选框中的对勾去掉便可。这里选择默认设置,安装全部组件。而后,单击Next按钮,将弹出安装位置选择对话框,如图1.5所示。
(4)该界面是用来设置Nmap安装位置的。若是用户但愿安装到其它位置的话,则单击Browse按钮,选择要安装的位置。这里使用默认的位置,而后单击Install按钮,将弹出WinPcap许可协议对话框,如图1.6所示。
图1.5 安装位置选择对话框 图1.6 WinPcap许可证协议对话框
(5)该界面显示了安装WinPcap组件的许可证协议。WinPcap是重要的组件,用来实现数据包捕获和网络分析。因此,必须安装。这里单击I Agree按钮,将显弹出WinPcap安装完成提示信息对话框,如图1.7所示。
(6)该界面显示WinPcap组件已经完成。此时,单击Next按钮,将弹出WinPcap选项对话框,如图1.8所示。
图1.7 WinPcap安装完成信息 图1.8 WinPcap选项对话框
(7)该界面用来设置启动NPF选项。这里使用默认设置,而后单击Next按钮,将弹出完成对话框,如图1.9所示。
(8)该界面提示WinPcap组件已设置完成。此时,单击Finish按钮,将显示开始安装Nmap工具。安装完成后,将弹出Nmap安装完成提示信息对话框,如图1.10所示。
图1.9 WinPcap组件设置完成 图1.10 Nmap安装完成信息
(9)从该界面能够看到Nmap工具已经安装完成。此时,单击Next按钮,将弹出建立快捷方式的对话框,如图1.11所示。
(10)该界面用来设置Nmap工具建立快捷方式的位置。默认是在启动菜单栏和桌面上建立快捷方式,这里使用默认设置。而后,单击Next按钮,将弹出Nmap完成对话框,如图1.12所示。
图1.11 建立快捷方式对话框 图1.12 Nmap设置完成
(11)从该界面能够看到Nmap工具已设置完成。此时,单击Finish按钮,退出Nmap安装向导。
提示:若是用户当前系统中已经安装WinPcap的话,将不会弹出图1.6所示的对话框,而是弹出如图1.13所示的对话框。
图1.13 WinPcap已经安装
从该界面能够看到提示WinPcap组件在当前系统中已经安装,接下来将跳过WinPcap组件安装。此时,单击“肯定”按钮,将显示如图1.10所示的界面。若是用户不但愿弹出图1.13对话框的话,在图1.4中去掉WinPcap 4.1.3组件前面复选框中的对勾便可。
在Linux下可使用两种方法来安装。其中,一种是使用二进制包,另外一种就是源码包。可是,在Linux中二进制包的安装有两大流派,分别是Red Hat的rpm(Redhat Package Management)和Debian的dpkg。因此,对于使用二进制包安装,则须要根据系统的类型选择相应的包进行安装。下面分别介绍这两种类型包的安装方法。
1.Red Hat系列系统安装
【示例1-2】在Red Hat系列系统中安装Nmap工具。下面以RHEL操做系统为例,演示Nmap的安装方法。执行命令以下所示:
[root@RHEL ~]# rpm -ivh nmap-6.47-1.i386.rpm
Preparing... ########################################### [100%]
1:nmap ########################################### [100%]
看到以上输出信息,则表示Nmap工具安装成功。在以上命令中,rpm是命令,表示安装.rpm格式的软件包;-ivh是-i、-v和-h三个选项的组合,其中-i表示安装、-v显示详细信息、-h用来显示安装进度;nmap-6.47-1.i386.rpm是软件包名。
2.Debian系列系统安装
【示例1-3】在Debian系列系统中安装Nmap工具。下面以Ubuntu操做系统为例,演示Nmap的安装方法。执行命令以下所示:
test@testtual-machine:~$ sudo dpkg -i nmap_6.47-4_i386.deb
[sudo] password for test #输入当前登陆系统用户的密码
(正在读取数据库 ... 系统当前共安装有 175794 个文件和目录。)
正准备解包 nmap_6.47-4_i386.deb ...
正在将 nmap (6.47-4) 解包到 (6.47-4) 上 ...
正在设置 nmap (6.47-4) ...
正在处理用于 man-db (2.6.7.1-1ubuntu1) 的触发器 ...
看到以上相似输出信息,则表示Nmap功能安装成功。
源码包能够在各类系列的Linux系统中安装。下面将以RHEL操做系统为例,介绍使用源码包安装Nmap 工具的方法。具体操做步骤以下所示:
(1)解压Nmap安装包。执行命令以下所示:
[root@RHEL ~]# tar jxvf nmap-6.47.tar.bz2
执行以上命令后,将会将源码包中的文件解压的当前目录下nmap-6.47文件夹中。
(2)配置Nmap工具。执行命令以下所示:
执行以上命令,表示为Nmap工具指定了默认的安装位置。
(3)编译软件包。执行命令以下所示:
[root@RHEL nmap-6.47]# make
(4)安装软件包。执行命令以下所示:
[root@RHEL nmap-6.47]# make install
以上命令执行成功的话,将会看到“NMAP SUCCESSFULLY INSTALLED”信息。该信息表示,Nmap工具安装成功。
本文选自:Nmap扫描基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!