文章参考了李华峰等的《Kali Linux2网络渗透测试实践指南》

一、简介

nmap(network mapper,网络映射器),其基本功能有三个,一是探测一组主机是否在线,其次是扫描主机端口,嗅探所提供的网络服务;还可以推断出主机所用的操作系统

  • 主机发现功能:向目标计算机发送特定的数据包组合来判断其网络状态是否开放
  • 端口扫描:检测目标主机所开放的端口
  • 服务及版本检测:判断目标计算机上运行的服务类型及版本信息
  • 操作系统检测:判断目标计算机的操作系统类型和版本信息

二、基本使用方法

2.1、最简单的扫描(控制台输入nmap和目标主机地址)

nmap 172.22.3.141 扫描目标主机开放端口及服务

  • 命令执行时会检测目标主机上的1-1000个端口,会列出来探测到的目标主机的端口和服务,

  • 第一行中给出了Nmap的版本为7.91,时间2021-07-07
  • 第二行是一个标题,生成的是关于172.22.3.141主机的报告
  • 第三行给出目标主机的状态为up(意味着这台主机是处于开机并连上了互联网的状态)
  • 第五行表示在进行检查的1000个端口中,有992个是关闭的。
  • 一般还会给出目标主机的mac地址,以及扫描了几台主机
PORT:  端口
STATE: 端口状态
SERVICE: 端口服务对于端口状态这一栏STATE有这么些参数
open            端口是开放的
closed          端口是关闭的
filtered        端口被防火墙IDS/IPS屏蔽,无法确定状态
unfiletered     端口未被屏蔽,但是否开放需要进一步确定
open|filtered    端口是开放的或者被过滤的
closed|filtered  端口是关闭的或者被过滤的对于端口服务这一栏的参数是指基于什么协议

2.2对多个不连续的主机进行扫描

Nmap可以一次扫描多个主机,如果这些扫描的目的地址没有任何干系,那么可以将目的地址用空格分隔开的方式来同时对这些主机进行扫描

  • 命令语法: nmap [扫描主机1 扫描主机2 … 扫描主机n]

  • 案例: nmap 172.22.3.141 172.22.3.143

  • 扫描结果是一个在线,一个不在线

2.3对连续范围内的主机扫描

  • 命令语法: nmap [ip地址范围]
  • nmap -sn 172.22.2.1-255
  • 为了节省时间选择了使用-sn参数
-sn: Ping Scan 只进行主机发现,不进行端口扫描
主机发现(不扫端口),只要有此参数,那么在主机发现时,目标IP为内网时使用ARP协议,目标IP为外网时,使用ICMP和TCP协议

  • (结果是只有1台主机在线,这要么是我的网络配置有问题,或者说是我这边路由器配置了一些东西)

2.4对整个子网进行扫描

Nmap支持使用CIDR的方式来扫描整个子网:

  • 命令语法:nmap [IP地址/掩码位数]
  • 如果和2.3中扫描的范围一样的话: nmap -sn 172.22.3.1/24

三、使用Nmap进行主机发现

3.1跳过ping阶段(-Pn)

通常Nmap在进行其他扫描之前,都会对目标进行一个Ping扫描。如果目标对Ping扫描没反应的话,就会直接结束整个扫描过程。这种方法可以跳过那些没有响应的主机,从而节省大量的时间,但是如果目标主机其实在线,但是采用某种手段屏蔽了Ping扫描,那么就会因此也躲过我们的其他扫描操作。

但可以指定无论目标是否响应PIng扫描,都要将整个扫描过程完成

  • 命令语法: nmap -Pn 目标IP
  • 实例: nmap -Pn 172.22.3.153
  • 首先该ip地址ping不通

3.2仅使用Ping协议进行主机发现

和上面的例子刚好相反,有时候我们要对大量的主机进行扫描,例如同时对上万台计算机进行扫描(当然这种情况极少),Nmap如果对一个目标采用各种手段进行扫描的话,那么会花费大量的时间。这时我们可以选择只对目标采用Ping扫描方式,那么这种方式所使用的参数为-sP。

  • 命令语法:nmap -sP [目标IP]
  • 实例:nmap -sP 172.22.3.141

3.3使用ARP协议进行主机发现

当目标主机和我们处于同一个网段的时候,使用ARP协议扫描技术就是最佳的选择。不仅速度快,扫描结果也是最为精准。这是因为没有任何的安全措施会阻止正常的ARP请求。

使用nmap的选项-PR就可以实现ARP协议的主机发现

  • 语法规则:nmap -PR [目标IP]
  • 实列:nmap -PR 172.22.3.153
  • 注意:这种方式只能用于与Nmap所在主机的同一子网的目标

3.4使用TCP协议进行主机发现(-sS -sT)(-sS貌似很好用啊!)

TCP协议的主要过程由三次握手构成:主动端先发送SYN报文,被动端回应SYN+ACK报文,然后主动端再回应ACK。利用这个过程,Nmap向目标发送SYN报文,如果对方回应了SYN+ACK,则说明目标在线。

由于三次握手最后一步的意义不大,所以扫描时,这一步可以完成也可以不完成,如果完成的话称之为全开(放)扫描,不完成则叫半开(SYN)扫描

Nmap里面采用-sS来讲扫描设定为半开扫描

  • 语法规则: nmap -sS [目标IP}
  • 实例:nmap -sS 172.22.3.153

  • 之前直接扫这个ip地址全部是不在线,但这次用tcp扫在线(这台主机是在线状态,就在我电脑旁边)

Nmap里面采用-sT来讲扫描为全开放扫描

  • 语法规则: nmep -sT [目标IP]
  • 实例: nmap -sT 172.22.3.153

3.5使用UDP协议进行主机发现

UDP相比于TCP协议简单,但是扫描主机时,并不如TCP协议方便,而且花费的时间很长,这种扫描方式并不常用

如果使用UDP协议扫描,可以使用参数-sU

  • 语法规则:nmap -sU [目标IP]

四、使用Nmap进行端口发现

4.1扫描全部端口

如果对所有的65535个端口扫描,可以使用参数 -p “*”

  • 语法规则: nmap -p “*” [目标IP]

4.2扫描使用频率最高的n个端口

如果只想扫描使用频率最高的n个端口,可以使用参数 --top-ports n

  • 语法规则:nmap --top-p 10 [ip地址]1

4.3扫描指定端口

如果只想扫描指定端口,可以是使用参数-p

  • 语法规则:nmap -p [端口号] [目标ip]
  • 示例:nmap -p 443 172.22.3.141

五、使用Nmap扫描目标操作系统

没有一种工具可以向你提供绝对准确的远程操作系统信息。几乎所有的工具都是使用了一种“猜”的方法。当然这不是凭空的猜测,而是通过向目标发送探针,然后根据目标的回应来猜测系统。这个探针大都是以TCP和UDP数据包的形式,检查的细节包括初始序列号(ISN)、TCO选项、IP标识符(ID)数字时间戳、显示拥塞通知(ECN)、窗口大小等。每个操作系统对于这些探针都会做出不同的响应。Nmap将这些响应特征提取出来并记录在一个数据库中,这就是Nmap进行识别的原理。探针和响应特征的对应关系存放在map安装目录的Nmap-os-db文件中。Nmap会尝试去验证如下参数:

  • 操作系统供应商的名字,比如微软或者sun。
  • 操作系统的名字,比如Windows、Mac OS X、Linux。
  • 操作系统的版本,比如XP、2000、2003、2008。
  • 当前设备的类型,比如通用计算机、打印服务器、媒体播放器、路由器、WAP或者电力装置。

除了这些参数以外,操作系统检测还提供了关于系统运行时间和TCP序列可预测性信息的分类,在命令行中使用-O参数通过端口扫描来完成对操作系统的扫描。

  • 语法规则:nmap -O [目标IP]

nmap貌似猜的不够准,它说我的设备是WAP电话,而且是索尼(sony),操作系统是Linux!怎么可能啊,这个ip地址是我宿主机的ip,我电脑是惠普、windows10啊!

六、使用Nmap扫描目标服务器

Nmap提供了更精确的服务及版本检测选项。通过添加选项 –sV 来进行服务和版本识别,服务和版本识别还有更多的选项。

  • 首先进行端口扫描,默认情况下使用SYN扫描。
  • 进行服务识别,发送探针报文,得到返回确认值,确认服务。
  • 进行版本识别,发送探针报文,得到返回的报文信息,分析得出服务的版本。

当Nmap从某个服务收到响应,但不能在数据库中找到匹配时,它就打印一个特殊的fingerprint和一个URL给使用者提交,如果使用者确实知道什么服务运行在端口,那么就可以花费几分钟提交这份报告,从而让Nmap更加完善。

使用下列参数可打开和控制版本探测。

  • 语法规范:nmap -sV [目标IP]

七、将Nmap的扫描结果保存为XML文件

选项 解释
-oN 标准保存
-oX XML格式保存
-oG grep保存
-oA 保存到所有格式
-append-output 补充保存文件
  • 一般情况下会将Nmap扫描的数据保存起来,Nmap支持多种保存格式,这里推荐XML格式
  • 语法规范:nmap 选项 保存文件名称 [目标IP]
  • 保存在当前用户的文件夹中

八、一些其它的重要选项

  • T0-T5:使用的是一种快速扫描的方式,扫描速度的级别范围在(T0-T5)之间,级别越高,扫描越快。

    • 语法:nmap -Tn [目标IP] n代表(0-5之间的一个数)
    • 实列: nmap -sV -sV -T4 172.22.3.141
  • -A:采用全面扫描的方式

    • 语法: nmap -A [目的IP]
    • 实例: nmap -A T4 172.22.3.141
  • –script=脚本

    • 语法:nmap --script=vuln [目标IP]
    • 实例:nmap -sV

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VRyADQsK-1625722364366)(%E7%AC%94%E8%AE%B0/typora%E5%9B%BE%E7%89%87/1625711795892-b62350ec-9734-4bf5-80bc-5aeffde76c57.png)]

  • -v : 显示扫描进度

九、最后谈一下zenmap(windows上图形化界面的nmap)

首先,如果你的Windows是的用户名是中文!

也就是C盘下用户(或者users)文件夹中你的个人用户文件夹是中文!那么,你就和我一样,没有用zenmap的命了,外国的软件,代码里面有调用这个文件夹,但文件夹名称是中文就会导致,扫描的时候出错

如果你想改变那个文件名称!

说一句:最好不要

这回引起很多很多问题

这里有先例

不过windows的环境下虽然用不了zenmap,但是可以使用命令行的nmap

配置环境变量后,就可以任意使用这个指令了

诸神之眼——nmap入门教程相关推荐

  1. 诸神之眼 Nmap入门

    诸神之眼:Nmap的使用 一,上命令 1,nmap baidu.com//探测百度2,nmap 1.1.1.1 (2.2.2.2 ...)//探测不同网络 一个(多个)主机3,nmap 1.1.1.1 ...

  2. 信息收集之基础端口扫描《诸神之眼——Nmap网络安全审计技术揭秘》总结一

    端口扫描 <诸神之眼--Nmap网络安全审计技术揭秘>总结 手动端口扫描 Nmap Nmap的基本操作 活跃主机发现技术 基于ARP协议的活跃主机发现技术 基于ICMP协议的活跃主机发现技 ...

  3. “诸神之眼”——Nmap端口扫描工具使用小手册

    "诸神之眼"--Nmap端口扫描工具使用小手册 1.Nmap介绍 1.1.Nmap简介 Nmap ("Network Mapper(网络映射器)") 是一款开放 ...

  4. 诸神之眼-nmap详细使用介绍1!基础使用与主机发现篇! (*╹▽╹*) 信息收集 ~ 其二

    文章目录 前言 安装 手动添加环境变量 nmap基础使用 对连续范围内的主机进行扫描 扫描整个子网(C端存活主机探测) 对多个不连续的主机进行扫描(`-sn`) 在扫描的时候排除指定的目标(`--ex ...

  5. [网络安全]诸神之眼--Nmap的使用

    文章目录 Nmap Nmap下载 windows下下载 linux下下载 目标说明 CIDR 概念 Nmap通过CIDR进行扫描 域名/IP扫描 单个域名/IP扫描 多个域名/IP扫描 范围型域名/I ...

  6. 诸神之眼-nmap详细使用介绍2!端口扫描技术和操作系统与服务检测篇! (*╹▽╹*) 信息收集 ~ 其三

    文章目录 端口扫描技术相关知识 端口介绍 端口分类 Nmap对端口的定义 Nmap中的端口扫描技术 指定端口扫描(`-p`.`-F`) TCP建立连接(SYN:synchronous)扫描(`-sS` ...

  7. 诸神之眼-nmap详细使用介绍3!Nmap高阶操作(防火墙规避和脚本使用)! (*╹▽╹*) 信息收集 ~ 其四

    文章目录 Nmap防火墙规避 发送分段数据包(-f) 限制最大传输单元(-mtu) 诱饵主机(`-D`) 源端口欺骗(`-g`) MAC地址欺骗(`--spoof-mac`) MAC地址介绍 nmap ...

  8. OSI模型 四层发现-nmap(诸神之眼)工具介绍

    简介: nmap是一款用于网络发现和安全审计的网络安全工具,它是自由软件.nmap是network mapper的简称. nmap通常情况下用来列举网络主机清单.管理服务升级调度.监控主机.服务运行状 ...

  9. 《诸神之眼:Nmap网络安全审计技术揭秘》读书笔记

    <诸神之眼:Nmap网络安全审计技术揭秘>读书笔记 作者:李华峰 ◆ 前言 NSE是Nmap中革命性的创新.通过Nmap强大的脚本引擎(NSE),每一个用户都可以向Nmap中添加自己编写的 ...

最新文章

  1. 作业盒子完成1.5亿美元D轮融资,用AI普及教育资源
  2. 趋势型指标——MACD
  3. 说说你知道的数据库常用架构方案?
  4. bt服务器搭建 linux_Linux 搭建 我的世界(MC) 基岩版服务器
  5. java gc日志乱码_6000+字,30+张图。JAVA线上故障排查全套路总结。
  6. 购买阿里云遇到Permission denied的问题
  7. uvalive5096(积分题)
  8. 隐马尔科夫模型(HMM)笔记(公式+代码)
  9. 计算机网络技术教研活动,(2012.09.27)计算机网络技术专业教研活动(文本).doc...
  10. matlab化函数图像示例,Matlab绘制函数图像函数示例汇总
  11. C语言变量相关试题,C语言模拟试题
  12. compass watch出错
  13. 作为股权类投资人,我们的投资偏好和投资原则
  14. 快速学习法:一年搞定MIT计算机课程
  15. 计算机ppt音乐,ppt背景音乐_适合ppt播放的轻音乐
  16. javascript数字转汉字中文数字
  17. 自己写一个strcmp函数(C++)
  18. 世界名著《平凡的世界》读后感3800字范文
  19. 前端实现图片快速反转替换_canvas实现图片镜像翻转的2种方式
  20. 读取excel数据 画k线 成交量图

热门文章

  1. 休斯敦大学计算机学院网址,美国休斯敦大学Jiming Bao教授受邀到我院访问并做精彩报告...
  2. 教堂环境风琴-Marcos Ciscar Ethereal Keys Kontakt
  3. jdbc连接mySQL8.0
  4. 分布式爬虫的实现方法
  5. VC++ 已知弦高,弦长,求半径,夹角, 弧度
  6. 量子计算机新宇宙,脑洞大开!未来的量子计算机将运行在平行宇宙里
  7. 米家扫地机器人静音模式在哪_MIJIA 米家 扫地机器人 开箱及简单评测
  8. AIOC工具箱授权码2021-01-29日到期
  9. 湾区潮涌·香港向前 | 香港科大副校长汪扬:用好一国两制制度优势,香港要成数字经济接轨世界桥梁...
  10. ImagiqSimulator