Nmap扫描教程之Nmap基础知识
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人!
Nmap扫描教程之Nmap基础知识的更多相关文章
- Nmap扫描教程之DNS服务类
Nmap扫描教程之DNS服务类 Nmap DNS服务类 DNS(Domain Name System,域名系统)的作用就是将主机名解析为相应IP地址的过程. 通常主机域名的一般结构为:主机名.三级域名 ...
- Nmap扫描教程之网络基础服务DHCP服务类
Nmap扫描教程之网络基础服务DHCP服务类 Nmap网络基础服务 网络基础服务是网络正常工作的基石,常见的网络基础服务包括DHCP服务和DNS服务.其中,DHCP服务用来为计算机动态分配IP地址:D ...
- PdgCntEditor系列教程一:基础知识
一.PdgCntEditor是什么? 二.为什么要用PdgCntEditor? 三.怎么用PdgCntEditor? 一.PdgCntEditor是什么? 这是一个目录编辑器,可以创建.编辑PDF.D ...
- Scala教程之:Scala基础
文章目录 常量 变量 代码块 函数 方法 类 case类 对象 trait main方法 这篇文章我们大概过一下Scala的基础概念,后面的文章我们会有更详细的讲解Scala的具体内容. 常量 在Sc ...
- git使用教程之git基础
1 获取Git仓库 在现有目录中初始化仓库 git init 克隆现有的仓库 git clone https://github.com/yangwang12345/node_test.git Git ...
- 学习廖雪峰的Python教程之Python基础
一.缩进 编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行. 以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释.其他每一行都是一个语句,当语句 ...
- Nmap扫描基础常用命令(包含进阶使用)
Nmap扫描常用命令 - Nmap scans common commands 1.扫描单个目标 nmap ip 如:nmap 192.168.0.101 2.扫描多个目标 nmap ip1 ip2 ...
- nmap扫描端口导致线上大量Java服务FullGC甚至OOM
nmap扫描端口导致线上大量Java服务FullGC甚至OOM 最近公司遇到了一次诡异的线上FullGC保障,多个服务几乎所有的实例集中报FullGC,个别实例甚至出现了OOM,直接被docker杀掉 ...
- OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务
OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务 1. OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...
随机推荐
- LIS (DP)_代码
#include <stdio.h> #include <string.h> #include <stdlib.h> int max(int a, int b); ...
- 挂载报错:“/dev/vda1 is apparently in use by the system;”
挂载报错:“/dev/vda1 is apparently in use by the system;” 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 距离回家倒计时还有一天,明天 ...
- React JSX基本语法规则
JSX基本语法规则: 遇到HTML(以 < 开头)标签,就用HTML规则解析: 遇到代码块(以 { 开头),就用JavaScript规则解析. 它允许HTML和JavaScript的混写. 注意 ...
- oracle connect by用法篇 (转)
1.基本语法 select * from table [start with condition1] connect by [prior] id=parentid 1 2 1 2 一般用来查找存在父子 ...
- bzoj千题计划202:bzoj3191: [JLOI2013]卡牌游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=3191 每个人获胜的概率只与其在排列中与庄家的相对位置有关 dp[i][j] 还剩i个人时,从庄家数第 ...
- 20155235 2016-2017-2 《Java程序设计》第8周学习总结
20155235 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 认识NIO NIO概述 Channel架构与操作 Buffer架 ...
- HDU 1308 What Day Is It?(模拟题)
解题报告:输入一个年月日,让你求出那一天是星期几,但是做这题之前必须先了解一点历史.首先在1582年之前,判断是否是闰年的标准是只要能被四整除就是闰年, 然后在1752年9月2号的后的11天被抹去了, ...
- 第12月第26天 swift 下划线
1. The _ is used to define that the parameter is not named If you have multiple _ it states that you ...
- linux(CentOS7)中安装erlang(20.3)以及rabbitmq(3.7.9)的步骤以及一些注意事项
首先下载安装包,之后先安装erlang,安装erlang需要很多依赖,所以一步步来: 首先 wxWidgets会报错,这个不是必须的,可以不安装,不影响 然后需要安装一些必须的依赖: yum inst ...
- input文本框禁止修改文本——disabled和readonly属性的作用及区别
1.input文本框禁止修改文本 disabled属性:<input type="text" name="name" value="xxx&qu ...