网站首页  词典首页

请输入您要查询的论文:

 

标题 关于Nmap的教学实践的探讨
范文

    

    摘要:Nmap是一个扫描工具,对于该工具的教学设计主要涉及使用Nmap扫描的功能,包括常规扫描、探测以及使用脚本方式进行扫描,根据功能来搭建合理的教学环境,让学生通过该环境通过实验达到良好的学习效果。关键词:Nmap;扫描;脚本;环境搭建;教学环节设计

    中图分类号:TP391

    文献标识码:A

    文章编号:1009-3044(2019)36-0117-02

    Nmap这个内容的教学,以前往往讲解的多,实验较少,主要是缺乏实验环境的配置,所以在以往的教学中,大家都遵循一般的方法,只讲解一般性理论和Nmap简单的应用命令,然后在局域网随便找几台机器进行扫描,这样的教学过程,学生没法了解和掌握Nmap这个强大的扫描工具的使用精髓,本文将就Nmap的一般和高级使用方法做详细分析并给出实现的环境,让学生在学完理论知识后,通过实验环境能够实现各种命令的使用。

    1扫描技术理论教学环节的设计

    Nmap首先是一种扫描技术,所以首先还是得介绍扫描原理。学习扫描技术首先需要了解端口的定义和分类,端口与服务的关系,服务的启动与否代表端口是否开放,让学生把端口和服务建立关联。其次,扫描技术还得分析TCP/IP协议,需要分析IP和TCP协议的各个字段的作用和含义,尤其是几个关键的TCP字段,例如TCP首部中的各个标志位的含义,因为这些标志位的含义和扫描技术直接相关,扫描技术需要发送带标志位的TCP报文到目标主机,然后根据收到的反馈报文情况判断对方端口状态或者服务状态。另外还需要分析TCP三次握手連接以及四次握手的取消连接,需要分析到每次握手过程中的TCP报文内的标志位和重要字段的变化。如果条件允许,可以讲授TCP的全状态变迁分析,让学生对整个TCP的状态变化有所了解,这样更容易了解扫描原理。当然,除了TCP和IP协议外,UDP协议也需要进行分析,因为有些扫描是使用的UDP报文。

    2 Nmap技术教学环节设计

    Nmap是个功能很强大的扫描工具,其功能主要分为常规扫描和使用脚本方式进行扫描。 使用常规方式扫描主要是靠发送带上特定标志位的TCP和UDP报文来进行扫描,而且NmapK可以使用的参数非常多,这个时候的教学可以选择几个最重要的参数进行抓包分析,可以安装简单的抓包工具WIRESHARK,例如对SYN扫描可以通过抓到如图l所示探测报文与应答报文,从图l可以看到只发生了两次握手情况,它是一种半开扫描,这样可以使扫描原理的教学一目了然。使用Nmap扫描,在扫描结果中会出现端口的六种状态,简单的open、close状态很好理解,但其中Filtered状态需要使用实验来演示,笔者使用WINDOWS SERVER 2003本地网卡上的Internet连接防火墙,通过服务选项来模拟端口是否使用防火墙,这样就可以很简单的实现看到Filtered状态。实际教学中笔者使用kali的Nmap对另外一台WINDOWSSERVER 2003虚拟机进行扫描,分别开启服务和不开启的扫描命令和结果如下:

    [email protected]:~/Desktop# nmap -sU 192.168.1.64 -p 80#对80端口扫描

    Starting Nmap 6.47( http://nmap.org) at 2019-03-23 15:47CST

    Nmap sean report for 192.168.1.64

    Host is up (0.00023s latency).

    PORT STATE

    SERVICE

    80/udp openlf/ltered http

    MAC Address: OO:OC:29:50:2D:7E (VMware)

    Nmap done:1 lP address(1 host up) scanned in 0.61 seconds

    [email protected]:~/Desktop# nmap -sT 192.168.1.64 -p 80#对80端口扫描

    Starting Nmap 6.47( http://nmap.org) at 2019-03-23 15:48CST

    Nmap scan report for 192.168.1.64

    Host is up (0.00025s latency).

    PORT STATE SERVICE

    80/tcpopen http

    MAC Address: OO:OC:29:50:2D:7E (VMware)

    Nmap done:1 lP address(1 host up) scanned in 0.21 seconds

    本实验还可以测试在禁用PING后获得扫描结果。在使用Nmap进行扫描的时候,还需要注意的是单独一种扫描方式并不是很准确的,需要多种参数扫描后综合判断,例如对操作系统的探测,某一个参数肯能只能探测出大致的系统类型,并不能准确到时哪一个操作系统,这个时候就需要再使用另外的参数进行探测。第二个重要内容是使用脚本方式的扫描,这是一个Nmap扩展功能,使用该功能可以探测系统漏洞甚至还可以实现暴力破解。对于这个环节的教学,笔者使用—script参数后面引用了一些脚本来进行扫描,例如使用—script=vuln来扫描系统漏洞,使用—script ftp-brute -script-args破解FTP服务器的账号信息,也可以使用对应版本破解mysql或者mssql数据库,使用命令如下:

    nmap —script=mysql-brute -p 3306 192.168.1.64#暴力破解mysql数据库

    Nmap-p1433 —script ms-sql-brute —script-args userdb=/usemames.txt,passdb=/passwords.txt 192.168.1.64#暴力破解ms-sql数据库[email protected]:/# nmap -p 1433 -script ms-sql-xp-cmdshell —script-args=ms-sql-xp-cmdshell.cmd=7net users,mssql.username=sa,mssql.password=123 192.168.1.64#破解成功后还可以使用nmap进行利用去使用对方的shell运行命令。

    以上的环境可以把mysq5和mssq12000安装到虚拟机WIN-DOWS SERVER 2003中,使用kali系统作为攻击机,实验的时候可以简单配置数据库管理员口令。除了对主机进行扫描外,还可以使用nmap脚本去获得网站信息或者扫描网站漏洞,例如如下密令扫描网站的sql注人情况:

    [email protected]:/#nmap—s,cript http-sql-inj ection 192.168.1.1 34

    该实验环境使用了Metasploitable2-Linux虚拟机作为靶机,该系统是一个特别制作的ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击。

    此外还可以使用增强Nmap的版本检测nmap-vulners和vulscan,这两个脚本可以从GITHUB.COM下载得到,常用直接从网站克隆的方式,使用這些脚本可以扫描检测CVE漏洞。

    3结束语

    Nmap是网络安全教学中一个很重要的教学知识点,对于系统的扫描和探测是学好渗透测试的前提,所以对于Nmap的教学内容设计非常重要。通过以上内容的设计,可以让学生学到Nmap的主要内容,同时,配置好对应的实验环境,让学生能够在虚拟环境当中进行模拟的扫描和Nmap实验也是一个重要的教学前提。

    参考文献:

    [1] LEE ALLEN.kali Linux渗透测试的艺术[M].北京:人民邮电出版社.2015.

    [2]贾铁军.网络安全实用技术[M].北京:清华大学出版社,2016.

    【通联编辑:朱宝贵】

    收稿日期:2019-10-25

    作者简介:严学军,讲师,硕士,主要研究方向为网络安全方向,从事网络安全和LINUX等课程的教学。

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/15 20:09:05