使用nmap端口扫描

简介: nmap是一款实用的网络工具,今天我们来体验如何使用nmap进行端口扫描。

原理

NMap,也就是Network Mapper,用来扫描网络上计算机开放的网络连接端口。它是网络管理员必用的软件之一,用以评估网络系统安全。

正如大多数被用于网络安全的工具,NMap也是不少黑客及骇客(又称脚本小子)爱用的工具 。

系统管理员可以利用NMap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。

Nmap指令介绍

指令意义

指令示例

扫描单机端口

nmap 192.168.1.12

扫描IP段端口

nmap 192.168.1.2-200

扫描指定端口

namp -p 21,80,3389 192.168.1.12

扫描端口段

nmap -p 1-65535 192.168.1.12

半开连接扫描

nmap -sS 192.168.1.12

全连接扫描

nmap -sT 192.168.1.12

显示banner信息

nmap -sV 192.168.1.12

TCP FIN 扫描Unix系统

nmap -sF 192.168.1.12

TCP NULL 扫描Unix系统

nmap -sN 192.168.1.12

TCP Xmax 扫描Unix系统

nmap -sX 192.168.1.12


扫描原理

全连接扫描

全连接扫描TCP Connect扫描),通过调用socket函数connect()连接到目标计算机上,完成一次完整的三次握手过程。如果端口处于侦听状态,那么connect()就能成功返回。否则,这个端口不可用,即没有提供服务。

优点

稳定可靠,不需要特殊的权限。

缺点

扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录 ,并容易被防火墙发现和屏蔽。

半连接扫描

半连接扫描TCP SYN扫描),扫描器向目标主机端口发送SYN包。如果应答是RST包,那么说明端口是关闭的;如果应答中包含SYNACK包,说明目标端口处于监听状态,再传送一个RST包给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半连接扫描。

优点

是隐蔽性较全连接扫描好,一般系统对这种半扫描很少记录。

缺点

通常构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。


隐蔽扫描技术

隐蔽扫描是指在网络端口扫描过程中隐蔽自身的技术。具体来讲,就是能够不被目标系统的日志机制,扫描监测系统和入侵检测系统扑捉,绕过防火墙而侦测到目标主机运行服务的扫描技术。NMap下的相关扫描方式有TCP FIN扫描、TCP NULL 扫描和TCP Xmax扫描。

扫描方式

记号

反馈

FIN扫描

FIN

若端口关闭,反馈RST数据包,否则无反馈

NULL扫描

均不标记

若端口关闭,反馈RST数据包,否则无反馈

Xmax扫描

URGPSHFIN

若端口关闭,反馈RST数据包,否则无反馈


优点

扫描隐蔽

缺点

对于Unix系统有效,对于Windows系统无效。


实验步骤

Zenmap GUI

    • 中找到NMap,并打开Zenmap GUI
      • 点击菜单栏中的【Scan】,点击【New Windows】,即可创建新的扫描窗口,并可以输入192.168.1.3。如图2所示


      图片.png

      2 New Windows扫描窗口

        • Profile框格中,点击右侧小三角号,即可选择扫描方式,在此处可以选择【Regular scan】。点击右侧【Scan】按钮即可进行扫描,经过一段时间之后,即可得到扫描结果,如图3

        图片.png

        3选择扫描方式、开始扫描并得到扫描结果

          • 点击【Services】和【Prots/Hosts】即可查看目标主机开启的服务所对应的窗口。

          图片.png

          4查看瘃开启的服务所对应的窗口

          命令行模式

            • 打开cmd,输入命令【nmap】即可得到命令帮助信息。如图5所示

            图片.png

            5 nmap的命令帮助信息

              • 在命令行下输入命令【nmap 192.168.1.3】,进行Regular Scan。如图6所示

              图片.png

              6 Regular Scan的扫描结果

                • 在命令行下输入命令【nmap -p 21,22,80,3389 192.168.1.3】,对指定的2122803389端口进行扫描。如图7所示

                图片.png

                7对指定端口进行扫描的结果

                  • 在命令行输入【nmap -sT 192.168.1.3】,对目标主机进行全连接扫描。全连接扫描完成完整的三次握手过程,稳定可靠但容易被日志记录。此种方法花费时间可能较长。如图8所示

                  图片.png

                  8对目标主机进行全连接扫描的结果

                    • 在命令行输入【nmap -sS 192.168.1.3】,对目标主机进行半开连接扫描。扫描器向目标主机发送SYN包测试主机是否监听某个端口而不进行全连接。此种方法比全连接扫描方式隐蔽。如图9所示

                    图片.png

                    9对目标主机进行半开连接扫描的结果

                      • 输入命令【nmap -sV 192.168.1.3】,用以显示banner信息。如图10所示

                      图片.png

                      10显示banner信息的结果

                        • 输入命令【nmap -oX 1.xml 192.168.1.3】,即将扫描结果以xml的形式输出,文件名为【1.xml】。如图11所示

                        图片.png

                        11使用以xml文件格式输出的命令

                          • 保存文档的位置在【C:\Documents and settings\Administrator】,双击保存好的【1.xml】文件,即可查看结果。如图12所示

                          图片.png

                          12查看保存的xml文件

                            • 在命令行界面,nmap命令也可以组合使用,在nmap命令行界面使用指定端口扫描、指定扫描类型为半开连接扫描的结果如下。如图13所示。

                            图片.png

                            13使用扫描目标端口的结果

                            思考题

                            ❓使用NMap的目的在于什么?

                            ❗使用NMap可以实现对主机名、域名、网络、IP地址的扫描,还可以扫描目标主机开启的端口、对方使用的系统信息、Banner信息,还支持基于TCP/UDP方式以及基于ARP的扫描,支持脚本扫描。对于这些功能的组合使用,可以实现下列功能:

                              1. 探测一组主机是否在线
                              2. 扫描主机端口,嗅探所提供的网络服务
                              3. 可以推断主机所用的操作系统
                              4. 隐秘地探测工作环境中未经批准使用的服务器
                              5. 搜集目标电脑的设定



                              目录
                              相关文章
                              |
                              3天前
                              |
                              安全 Linux 网络安全
                              nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
                              nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
                              20 5
                              |
                              1月前
                              |
                              Python
                              Python编程--使用NMAP端口扫描
                              Python编程--使用NMAP端口扫描
                              |
                              1月前
                              |
                              网络协议
                              Nmap 中的各种端口扫描技术
                              Nmap 中的各种端口扫描技术
                              |
                              3月前
                              |
                              网络安全 网络架构
                              Nmap扫描六种端口状态介绍
                              Nmap扫描六种端口状态介绍
                              109 2
                              |
                              前端开发 Linux 网络安全
                              kali linux 网络渗透测试学习笔记(一)Nmap工具进行端口扫描
                              一.利用Nmap扫描网站服务器的端口开放情况首先打开我们的kali linux才做系统,再打开其命令行模式,输入:nmap www.csdn.net 如下图所示:   因此,通过这个结果可以表明csdn上的端口开放了80端口以及443端口吗,这两个端口都十分重要,因为80端口适用于给用户呈现出数据,给用户看网站用的,443端口也是一个比较重要的端口。
                              2333 0
                              |
                              3月前
                              |
                              网络协议 安全 Linux
                              在Linux中,什么是端口扫描?如何使用工具如nmap进行端口扫描?
                              在Linux中,什么是端口扫描?如何使用工具如nmap进行端口扫描?
                              |
                              6月前
                              |
                              网络协议
                              第二轮学习笔记: 扫描工具 -- nmap端口扫描
                              第二轮学习笔记: 扫描工具 -- nmap端口扫描
                              78 0
                              |
                              11月前
                              |
                              XML 网络协议 安全
                              主动扫描-Nmap-端口、系统、服务扫描
                              主动扫描-Nmap-端口、系统、服务扫描
                              242 0
                              |
                              安全 Linux 网络安全
                              如何使用Nmap进行端口扫描和服务识别?
                              如何使用Nmap进行端口扫描和服务识别?
                              812 0
                              |
                              网络协议
                              第二轮学习笔记: 扫描工具 -- nmap端口扫描
                              第二轮学习笔记: 扫描工具 -- nmap端口扫描
                              212 0
                              第二轮学习笔记: 扫描工具 -- nmap端口扫描