[工具使用] Nmap网络扫描器实验

492 0
Honkers 2026-5-25 16:49:13 来自手机 | 显示全部楼层 |阅读模式

一、实验背景:

网络入侵的一般流程是确定目标、信息收集、漏洞挖掘、实施攻击、留下后门、清除日志。在信息收集环节又可分为网络踩点、网络扫描和网络查点。在网络扫描部分,按照攻击者的入侵流程又可分为主机扫描、端口扫描、系统类型探测和漏洞扫描。

网络扫描是针对整个目标网络或单台主机,网络扫描可以全面、快速、准确的获取目标系统的信息;通过网络扫描发现对方,获取对方的信息是进行网络攻防的前提。至今,互联网上有许多开源的优秀网络扫描工具,Nmap(简称Network Mapper)就是世界上最流行功能、最强大的网络扫描工具。

Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具,由Fyodor在1997年创建,是渗透测试人员必用的软件之一,用以评估网络系统安全。一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况;可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。

Nmap有很多优点。一是NMAP支持很多扫描技术,如UDP、TCP connect()、TCP SYN(半开扫描)、FTP bounce scan、反向标志扫描、ICMP、FIN、ACK扫描、Xmas Tree、null扫描等扫描技术。二是支持主流操作系统:Windows/Linux/Unix/MacOS等,源码开放,方便移植。三是Nmap官网提供了详细的文档描述,互联网上的参考资料也比较丰富。四是Nmap功能强大,Nmap可以扫描互联网上大规模的计算机,可以通过TCP/IP协议栈特征探测操作系统类型,可以进行秘密扫描、并行扫描、诱饵扫描、避开端口过滤检测、RPC扫描、碎片扫描、脚本扫描等。

Zenmap是Nmap官方提供的图形界面,是用Python语言编写的开源免费的图形界面,能在Windows/Linux/Unix/Mac OS等操作系统上运行;Zenmap旨在为nmap提供更加简单的操作方式。简单常用的操作命令可以保存成为profile,用户扫描时可以在Profile栏位选择profile即可,可以很方便地比较不同的扫描结果;Topology选项卡中还可以提供有网络拓扑结构的图形显示功能,用于显示扫描到的目标机与本机之间的拓扑结构。NMAP的功能架构图如图1所示:

 

图1 功能架构图

从图1中也可以看出Nmap的功能:主机发现(Host Discovery)、端口扫描(Port Scanning)、版本侦测(Version Detection)、操作系统侦测(Operating System Detection),以及NMAP的高级用法防火墙/IDS规避、NSE脚本引擎。其中,nmap脚本引擎(NSE,Nmap scripting Engine)也是nmap最强大、最灵活的功能之一,它允许用户使用lua编程语言编写、共享简单的脚本,以自动化执行各种网络任务。

二、实验原理:

本次实验使用nmap工具,需要预先掌握IP、ICMP、TCP和UDP等协议原理与一些编程知识。使用NMAP进行扫描,可分为以下几类,首先是常规扫描,通过TCP的三次连接进行扫描,如图2所示:

 

图2  常规扫描

然后是半打开扫描,没有完成三次连接进行扫描,如图3所示:

 

图3  半打开扫描(SYN扫描)

另一类是ACK扫描,ACK扫描通过发送一个ACK包给目标主机,不论目标主机的端口是否开启,都会返回相应的RST包,通过判断RST包中的TTL来判断端口是否开启。如图4所示

 

图4  ACK扫描

还有一类是UDP扫描,UDP扫描是由扫描主机发出UDP数据包给目标主机的UDP Port,并等待目标主机Port送回ICMP Unreachable信息,如图5所示:

 

图5  半打开扫描

三、实验环境:

Windows系统、Nmap软件、靶机系统。本次实验的网络拓扑如图6所示:

 

图6 nmap网络扫描器实验环境

四、实验目的及要求:

深入Nmap网络扫描器的原理,并通过使用Nmap发现目标主机、开放端口、服务类型、版本和操作系统,进行nmap脚本及库文件编写,深入掌握网络扫描器的作用,达到以下要求:

  1. 深入掌握信息探测技术中的nmap网络扫描器原理,掌握常用网络服务对应的端口号。
  2. 熟练使用nmap常用参数对网络环境进行扫描,并通过扫描结果对目标进行分析。
  3. 掌握nmap脚本的基本使用方法和开发方法,理解并掌握nmap的API和库文件的使用。
  4. 本次实验需连接SUSE校园网;完成实验后,提交电子实验报告1份,命名格式:学号+姓名+实验名。

五、实验内容:

  1. 安装Nmap,掌握windows下nmap的安装方法
  2. 通过扫描目标计算机熟悉nmap图形界面Zenmap的基本应用
  3. 通过nmap命令行的使用,掌握nmap命令行下常用的参数。
  4. 掌握nmap脚本的使用和简单Nmap脚本开发。
  5. 利用Halcyon编写简单的nmap脚本,实现对web服务器的检测。
  6. 掌握nmap的API和库文件的使用。

六、实验步骤:

(1)安装Nmap:

双击nmap-7.92-setup.exe安装,在安装过程中,保持默认设置,按照提示进行安装即可。

2)Zenmap应用:

2.1)单机扫描:

通过扫描自己的PC,熟悉nmap图形界面Zenmap的基本使用。打开Zenmap,点击“扫描”—>“新建窗口”,在目标框中输入IP地址172.26.10.102,不修改配置直接点击扫描,等待返回扫描结果。点击状态界面的“扫描”选项卡,可以看到扫描进度,扫描完成后,可以看到被扫描对象的各种状态,包括端口、拓扑图、主机操作系统类型等信息。扫描效果如图7所示:

 

图7 单机扫描效果(截图需展示端口对应的服务类型和版本号)

问题1:请在实验报告上回答该IP地址最有可能的OS类型及OS版本?

接着继续在zenamp界面,将配置改为:Intense scan, all TCP ports,重新对目标172.26.10.102进行扫描,观察返回结果有何不同。对比扫描效果如图8所示:

 

图8 对比扫描结果

2.2)网段扫描:

对本机所处网段进行扫描,分析本网段环境:根据图7的目标栏,在扫描目标中输入:172.22.252.0/24,将配置改为:Intense scan, all TCP ports,然后运行扫描任务,扫描任务停止后即可查看返回结果。在左侧“主机”中会列举出被扫描网段中所有存活的主机以及操作系统类型,点击相关主机即可查看主机的详细信息。接着,选择“扫描”菜单中“保存扫描”选项可以保存扫描结果,保存类型选用默认的XML格式。可用IE浏览器打开并查看该XML文件。效果如图9所示:

 

图9 网段扫描效果(截图需展示存活的主机IP列表)

问题2:请在实验报告上回答存活的主机IP列表以及有SSH服务的IP有哪些?

3Nmap命令行的使用:

3.1Nmap命令行用法及参数说明:

打开CMD命令提示符,在CMD命令提示符窗口中输入“nmap”命令,按下回车键,nmap会返回使用说明。可以看到nmap的用法如图10所示,其中目标参数为必选项:

 

图10  nmap的命令行用法

根据图10,常用扫描类型及参数说明如图11所示,扫描类型-sT、-sS、-sA、-sU的原理分别对应图2、图3、图4、图5:

 

图11 常用扫描类型及参数说明

3.1)Nmap命令行使用案例:

基于图11,若要判断172.26.10.102的操作系统,则nmap命令行的命令为:nmap -O -T5 172.26.10.102。若要在测试中不在服务器172.26.10.102上留下连接痕迹,可以采用半开扫描(即非TCP三次握手连接),nmap命令行的命令为:nmap -sS 172.26.10.102。若要扫描目标主机172.26.10.102所有端口(1-65535),nmap命令行的命令为:nmap -p 1-65535 172.26.10.102。

4)nmap脚本的使用:

虽然nmap内嵌的服务与版本探测很强大,但是在某些情况下需要多伦次的交互才能够探测到更多的服务器信息,这时就需要自己编写NSE插件来实现。NSE插件能够完成网络发现、复杂版本探测、脆弱性探测、简单漏洞利用等功能。

nmap执行时,首先需要理解Nmap脚本引擎原理,如图12所示:

 

图12  nmap执行原理

在图12中,根据脚本的运行阶段不同分为四类:Prerule scripts、Host scripts、Service scripts、Postrule scripts。 Service scripts应用最多,Post scripts是对Nmap输出进行格式化,Host scripts在Nmap运行完主机发现、端口扫描、版本探测、OS侦测后执行;Prerule scripts执行一些资源操作,先于各探测执行。

4.1)使用--script--script-help选项的脚本扫描:

Nmap安装后已自带了很多脚本,这些可使用的脚本处于nmap的scripts目录下,也是nmap的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行