NMAP详解

2020-04-05  本文已影响0人  义焃

1. 概述

Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。
一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。

2. Nmap特点

主机探测:探测网络上的主机,例如列出响应TCP和ICMP请求、icmp请求、开放特别端口的主机。

3. Nmap用途

  1. 通过对设备或者防火墙的探测来审计它的安全性。
  2. 测目标主机所开放的端口。
  3. 网络存储,网络映射,维护和资产管理。
  4. 通过识别新的服务器审计网络的安全性。
  5. 探测网络上的主机。

4. Nmap安装

4.1 环境准备

  1. 操作系统:centos
  2. 环境工具:Nmap7.40
  3. 环境依赖 gcc编译器

4.2. 环境检测

靶机IP:10.20.65.175
主机IP:10.20.65.176
用户名:root
密码:password
如果在线下本地环境中安装Nmap时,先安装gcc编译器,否则编译时会出现错误,centos安装命令:yum install gcc-c++,ubuntu安装命令:apt-get build-depgcc
使用ls命令查看nmap是否在当前目录下,如下图:

image.png

使用解压命令tar -zxvf将nmap-7.40.tgz包进行解压,如下图:


image.png

解压成功之后,进入到nmap目录,使用命令cd nmap-7.40,如下图:


image.png

对nmap进行安装,使用./configure命令进行检测,./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,如下图:


image.png

4.3. 源码编译

使用make命令进行nmap源代码编译,生成目标文件,可执行文件。当 make 命令第一次执行时,它扫描 Makefile 找到目标以及其依赖。如果这些依赖自身也是目标,继续为这些依赖扫描 Makefile 建立其依赖关系,然后编译它们,如下图:


image.png

4.4. 源码安装

编译完成之后,使用make install进行安装,make install命令是将生成后的目标可执行文件进行安装,如下图:


image.png

当安装结束会提示NMAP SUCCESSFULLY INSTALLED 表示nmap安装成功,如下图:


image.png

2.4. Nmap验证
使用nmap –v命令进行验证nmap是否安装成功,运行nmap -v会返回nmap的版本及相关信息,如下图:


image.png

使用nmap –h 可以看到nmap的相关帮助信息,其中列出了nmap的所有命令,使用这些命令可以进行主机探测,端口扫描等操作,如下图:


image.png

5. Nmap语法

5.1. 主机发现

5.2. 端口状态

5.3. 端口扫描

5.4. 服务和版本探测

5.5. 操作系统探测

5.6. 状态输出和保存

6. Nmap扫描

6.1. 主机扫描

nmap –sL 192.168.90.100-150 //列表扫描
支持IP列表和C段扫描,范围可自定义1/24扫描整个C段。


image.png

nmap -sP 192.168.90.100-150 //ping扫描
nmap -sP 192.168.90.0/24 //寻找网络内所有在线主机
-sP方式是先对主机进行ping测试,Ping 指定范围内的 IP 地址。


image.png

nmap -P0 192.168.90.213 //无ping扫描
-P0方式是无需ping直接对目标进行扫描。


image.png

nmap –sn 192.168.90.100-110 //只进行主机扫描
–sn方式只对主机进行扫描获取主机名,不扫描其端口。


image.png

6.2. 端口扫描

nmap –sS 192.168.90.213 //TCP sys方式扫描,快速和隐蔽的扫描。
使用-sS方式可以快速和隐蔽的扫描,不易被主机发现。


image.png

nmap –sU 192.168.90.213 //使用UDP扫描方式


image.png

nmap –sN 192.168.90.218 //探测对方TCP端口状态


image.png

nmap -p 80 192.168.90.213 //指定端口扫描,如多个端口中间用,逗号分隔


image.png

nmap –F 192.168.90.213 //快速扫描


image.png

6.3. 服务和版本探测

nmap -sV 192.168.90.213 //版本探测
使用-sV可以探测出主机的端口服务类型,具体版本等

image.png

6.4. 操作系统探测

nmap –O 192.168.90.213 //操作系统扫描
-O方式是扫描主机的操作系统,获取主机具体的操作系统及版本。


image.png

6.5. 综合扫描方式

nmap -sS -P0 -sV -O 192.168.90.213
-sS TCP SYN 扫描 (又称半开放,或隐身扫描)
-P0 允许你关闭 ICMP pings,不进行主机发现,直接扫描
-sV 打开系统版本检测
-O 尝试识别远程操作系统
进行隐蔽扫描,探测主机的端口安装服务及服务具体版本,探测出主机所使用的操作系统版本。


image.png

nmap -sS -P0 -A -v 192.168.90.213
使用隐秘扫描模式,不进行主机发现,直接进行扫描,使用复合参数扫描模式对目标主机进行探测。


image.png

6.6. 状态输出及保存

nmap -sS -v 192.168.90.213 -oN /root/text
输出正在扫描的状态,并将扫描结果以普通文本格式保存到指定的文件中。


image.png
image.png

使用linux命令查看文件中的内容 cat /root/text

image.png
上一篇 下一篇

猜你喜欢

热点阅读