Nmap扫描教程之Nmap基础知识
Nmap扫描Nmap基础知识
Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。Nmap工具可以用来扫描电脑上开放的端口,确定哪些服务运行在哪些端口,并且推断出计算机运行的操作系统。通过使用该工具,可以评估网络系统安全。所以,Nmap是大部分用户所必要的工具之一。本章将对Nmap工具的基础知识进行详细介绍。
Nmap扫描Nmap概述
Nmap是一款非常不错的网络扫描工具,支持各种操作系统,如Windows、Linux、Mac OS等。为了帮助用户更好的使用该工具,本节将对Nmap工具做一个简单介绍。
Nmap扫描什么是Nmap
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。目前,Nmap工具的最新版本是6.47。
由于Nmap工具具有许多优点,所以该工具被广泛应用。其中,Nmap工具的优点如下所示:
- q 灵活:支持数十种不同的扫描方式,支持多种目标对象的扫描。
- q 强大:Nmap可以用于扫描互联网上大规模的计算机群。
- q 可移植:支持主流的操作系统,如Windows、Linux、Unix、Mac OS等;并且其源码开放,方便移植。
- q 简单:提供默认的操作能覆盖大部分功能,如基本端口扫描,全面扫描。
- q *:Nmap作为开源软件,在GPL License的范围内可以*的使用。
- q 文档丰富:Nmap官网提供了详细的文档描述。Nmap作者及其它安全专家编写了多部Nmap参考书籍。
- q 社区支持:Nmsp背后有强大的社区团队支持。
- q 赞誉有加:获得很多的奖励,并在很多影视作品中出现(如黑客帝国2、Die Hard4等)。
- q 流行:目前Nmap已经被成千上万的安全专家列为必备的工具之一。
Nmap扫描 Nmap的功能
Nmap主要包括四个方面的扫描功能,分别是主机发现、端口扫描、应用与版本侦测、操作系统侦测。这四项功能之间,又存在大致的依赖关系。通常情况下顺序关系,如图1.1所示。
图1.1 Nmap功能架构图
下面将详细介绍以上Nmap各功能之间的依赖关系。如下所示:
(1)首先用户需要进行主机发现,找出活动的主机。然后,确定活动主机上端口状况。
(2)根据端口扫描,以确定端口上具体运行的应用程序与版本信息。
(3)对版本信息侦测后,对操作系统进行侦测。
在这四项基本功能的基础上,Nmap提供防火墙与IDS(IntrusionDetection System,入侵检测系统)的规避技巧,可以综合应用到四个基本功能的各个阶段;另外Nmap提供强大的NSE(Nmap Scripting Language)脚本引擎功能,脚本可以对基本功能进行补充和扩展。
Nmap扫描 Nmap工作原理
Nmap使用TCP/IP协议栈指纹准确地判断目标主机的操作系统类型。首先,Nmap通过对目标主机进行端口扫描,找出有哪些端口正在目标主机上监听。当侦测到目标主机上有多于一个开放的TCP端口、一个关闭的TCP端口和一个关闭的UDP端口时,Nmap的探测能力是最好的。Nmap工具的工作原理如表1-1所示。
表1-1 Nmap工作原理
Nmap对目标主机进行一系列测试,如表1-1所示。利用得出的测试结果建立相应目标主机的Nmap指纹。最后,将此Nmap指纹与指纹库中指纹进行查找匹配,从而得出目标主机的操作系统类型。
Nmap扫描Nmap扫描类型
Nmap常见的扫描类型如表1-2所示。
表1-2 Nmap主要扫描类型
Nmap扫描获取Nmap安装包
当用户对Nmap工具有一个清晰的认识后,即可安装并使用该工具了。如果要安装该工具,则必须要先获取其软件包。本节将介绍如何获取Nmap工具的安装包。
Nmap工具的官网是http://nmap.org/。在该官网提供了Nmap各种类型包的下载地址。其中,下载地址是:
https://nmap.org/download.html
在浏览器中输入以上地址后,将打开如图1.2所示的界面。
图1.2 Nmap下载页面
在该界面根据自己的系统版本,选择相应的软件包。由于章节的原因,上图只截取了一部分(包括源码包和Windows二进制包的下载地址)。
Nmap扫描安装Nmap工具
通过上一节的介绍,用户可以顺利的获取到Nmap工具的安装包。接下来,用户就可以在操作系统中安装该工具了。为了使任何所有用户都可以很好的使用该工具,下面将分别介绍在Windows和Linux操作系统中安装Nmap工具的方法。
Nmap扫描在Windows下安装
【示例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组件前面复选框中的对勾即可。
Nmap扫描在Linux下安装
在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功能安装成功。
Nmap扫描源码包安装
源码包可以在各种系列的Linux系统中安装。下面将以RHEL操作系统为例,介绍使用源码包安装Nmap 工具的方法。具体操作步骤如下所示:
(1)解压Nmap安装包。执行命令如下所示:
- [root@RHEL ~]# tar jxvf nmap-6.47.tar.bz2
执行以上命令后,将会将源码包中的文件解压的当前目录下nmap-6.47文件夹中。
(2)配置Nmap工具。执行命令如下所示:
- [root@RHEL ~]# cd nmap-6.47
- [root@RHEL nmap-6.47]# ./configure
执行以上命令,表示为Nmap工具指定了默认的安装位置。
(3)编译软件包。执行命令如下所示:
- [root@RHEL nmap-6.47]# make
(4)安装软件包。执行命令如下所示:
- [root@RHEL nmap-6.47]# make install
以上命令执行成功的话,将会看到“NMAP SUCCESSFULLY INSTALLED”信息。该信息表示,Nmap工具安装成功。
本文选自:Nmap扫描基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!