Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。

Nmap 常被跟评估系统漏洞软件Nessus混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。

其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。

安装Nmap

Nmap要用到一个称为“Windows包捕获库”的驱动程序WinPcap——如果你经常从网上下载流媒体电影,可能已经熟悉这个驱动程序——某些流媒体电影的地址是加密的,侦测这些电影的真实地址就要用到WinPcap。WinPcap的作用是帮助调用程序(即这里的Nmap)捕获通过网卡传输的原始数据。WinPcap支持XP/2K/Me/9x全系列操作系统,下载得到的是一个执行文件,双击安装,一路确认使用默认设置就可以了,安装好之后需要重新启动。

接下来下载Nmap(国内各大软件网站也有,但一般版本更新略有滞后)。下载好之后解开压缩,不需要安装。除了执行文件nmap.exe之外,它还有下列参考文档:

一 nmap-os-fingerprints:列出了500多种网络设备和操作系统的堆栈标识信息。

二 nmap-protocols:Nmap执行协议扫描的协议清单。

三 nmap-rpc:远程过程调用(RPC)服务清单,Nmap用它来确定在特定端口上监听的应用类型。

四 nmap-services:一个TCP/UDP服务的清单,Nmap用它来匹配服务名称和端口号。除了命令行版本之外,还提供了一个带GUI的Nmap版本。和其他常见的Windows软件一样,GUI版本需要安装,图一就是GUI版Nmap的运行界面

常用扫描类型

解开Nmap命令行版的压缩包之后,进入Windows的命令控制台,再转到安装Nmap的目录(如果经常要用Nmap,最好把它的路径加入到PATH环境变量)。不带任何命令行参数。

GUI版的功能基本上和命令行版本一样,鉴于许多人更喜欢用命令行版本,本文后面的说明就以命令行版本为主。 下面是Nmap支持的四种最基本的扫描方式:

⑴ TCP connect()端口扫描(-sT参数)。

⑵ TCP同步(SYN)端口扫描(-sS参数)。

⑶ UDP端口扫描(-sU参数)。

⑷ Ping扫描(-sP参数)。

如果要勾画一个网络的整体情况,Ping扫描和TCP SYN扫描最为实用。Ping扫描通过发送ICMP (Internet Control Message Protocol,Internet控制消息协议)回应请求数据包和TCP应答(Acknowledge,简写ACK)数据包,确定主机的状态,非常适合于检测指定网段内正在运行的主机数量。

TCP SYN扫描一下子不太好理解,但如果将它与TCP connect()扫描比较,就很容易看出这种扫描方式的特点。在TCP connect()扫描中,扫描器利用操作系统本身的系统调用打开一个完整的TCP连接——也就是说,扫描器打开了两个主机之间的完整握手过程(SYN,SYN-ACK,和ACK)。一次完整执行的握手过程表明远程主机端口是打开的。

TCP SYN扫描创建的是半打开的连接,它与TCP connect()扫描的不同之处在于,TCP SYN扫描发送的是复位(RST)标记而不是结束ACK标记(即,SYN,SYN-ACK,或RST):如果远程主机正在监听且端口是打开的,远程主机用SYN-ACK应答,Nmap发送一个RST;如果远程主机的端口是关闭的,它的应答将是RST,此时Nmap转入下一个端口。

Nmap支持丰富、灵活的命令行参数。例如,如果要扫描192.168.7网络,可以用 192.168.7.x/24或192.168.7.0-255的形式指定IP地址范围。指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口。如果要查看Nmap运行的详细过程,只要启用verbose模式,即加上-v参数,或者加上-vv参数获得更加详细的信息。例如,nmap -sS 192.168.7.1-255 -p 20,21,53-110,30000- -v命令,表示执行一次TCP SYN扫描,启用verbose模式,要扫描的网络是192.168.7,检测20、21、53到110以及30000以上的端口(指定端口清单时中间不要插入空格)。再举一个例子,nmap -sS 192.168.7.1/24 -p 80扫描192.168.0子网,查找在 80端口监听的服务器(通常是Web服务器)。

有些网络设备,例如路由器和网络打印机,可能禁用或过滤某些端口,禁止对该设备或跨越该设备的扫描。初步侦测网络情况时,-host_timeout参数很有用,它表示超时时间,例如 nmap sS host_timeout 10000 192.168.0.1命令规定超时时间是10000毫秒。

网络设备上被过滤掉的端口一般会大大延长侦测时间,设置超时参数有时可以显著降低扫描网络所需时间。Nmap会显示出哪些网络设备响应超时,这时你就可以对这些设备个别处理,保证大范围网络扫描的整体速度。当然,host_timeout到底可以节省多少扫描时间,最终还是由网络上被过滤的端口数量决定。

版本发行

2009年07月17日,开源网络安全扫描工具Nmap正式发布了5.00版,这是自1997年以来最重要的发布,代表着Nmap从简单的网络连接端扫描软件变身为全方面的安全和网络工具组件。

Nmap于1997年9月推出,支持Linux、Windows、Solaris、BSD、Mac OS X、AmigaOS系统,采用GPL许可证,最初用于扫描开放的网络连接端,确定哪服务运行在那些连接端,它是评估网络系统安全的重要软件,也是黑客常用 的工具之一。

新的Nmap 5.00版大幅改进了性能,增加了大量的脚本。例如Nmap现在能登录进入Windows,执行本地检查(PDF),能检测出臭名昭著的Conficker蠕虫。其它的主要特性包括:用于数据传输,重定向和调试的新Ncat工具,Ndiff快速扫描比较工具,高级GUI和结果浏览器Zenmap等。

2010年01月25日,Nmap 5.20 发布。

2012年12月04日,Nmap 6.25 发布,网络安全审计工具。

2015年11月19日,Nmap 7.0发布。

2016年03月17日,Nmap 7.10发布。

2016年09月29日,Nmap 7.30发布。

2016年10月29日,Nmap 7.31发布。

2016年12月20日,Nmap 7.40发布。

2017年06月13日,Nmap 7.50发布。

2017年07月31日,Nmap 7.60发布。

2018年03月20日,Nmap 7.70发布。

2019年08月10日,nmap 7.80发布。

渗透:Nmap的更多相关文章

  1. Nmap备忘单:从探索到漏洞利用(Part 5)

    这是备忘单的最后一部分,在这里主要讲述漏洞评估和渗透测试. 数据库审计 列出数据库名称 nmap -sV --script=mysql-databases 192.168.195.130 上图并没有显 ...

  2. 渗透测试工具Nmap从初级到高级使用教程

    本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...

  3. kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap

    Kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap. 1 N ...

  4. 小白日记11:kali渗透测试之服务扫描-banner、dmitry、nmap特征库、操作系统识别、SNMP

    服务扫描 不能单纯的以端口辨别服务.很多网络服务是漏洞频发的高危对象,对网络上的特定服务进行扫描,往往能让我们少走弯路,增加渗透成功的几率.确定开放端口后,通常会对相应端口上所运行服务的信息进行更深入 ...

  5. 渗透测试工具Nmap从初级到高级

    Nmap是一款网络扫描和主机检测的非常有用的工具. Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它可以适用于winodws,linux,mac等操作系统.Nmap ...

  6. 读书笔记 ~ Nmap渗透测试指南

    记录Nmap选项及脚本使用,仅供参考... 除了端口扫描,好像其它脚本都比较鸡肋,用途感觉应该没有专用的小工具好用,不过还是可以看看,选项和脚本还是相当的丰富的. Nmap 使用帮助 starnigh ...

  7. 不老的神器:安全扫描器Nmap渗透使用指南【转】

    介绍 nmap是用来探测计算机网络上的主机和服务的一种安全扫描器.为了绘制网络拓扑图Nmap的发送特制的数据包到目标主机然后对返回数据包进行分析.Nmap是一款枚举和测试网络的强大工具. 特点 主机探 ...

  8. Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap

    Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具——Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...

  9. Nmap渗透测试使用方法

    Nmap渗透测试使用方法 目标选择2 端口选择2 操作系统和服务检测2 Nmap输出格式2 用NSE脚本深入挖掘2 HTTP服务信息3 检测SSL漏洞问题的主机3 设备扫描3 按VNC扫描5 按SMB ...

  10. 渗透测试工具Nmap篇

    Nmap是一款网络扫描和主机检测的非常有用的工具. Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它可以适用于winodws,linux,mac等操作系统.Nmap ...

随机推荐

  1. Numpy中重要的广播概念

    Numpy中重要的广播概念 广播:简单理解为用于不同大小数组的二元通用函数(加.减.乘等)的一组规则 广播的规则: 如果两个数组的维度数dim不相同,那么小维度数组的形状将会在左边补1 如果shape ...

  2. Numpy实现机器学习交叉验证的数据划分

    Numpy实现K折交叉验证的数据划分 本实例使用Numpy的数组切片语法,实现了K折交叉验证的数据划分 背景:K折交叉验证 为什么需要这个?在机器学习中,因为如下原因,使用K折交叉验证能更好评估模型效 ...

  3. 11_二阶系统的单位阶跃响应_详细数学推导部分_2nd order system unit step response

  4. Living Documentation

    Living Documentation Living documentation in legacy systems Living documentation, which comes from t ...

  5. 有关placeholder在ie9中的一点折腾

    有关placeholder在ie9中的一点折腾. placeholder属性定义: placeholder 属性规定可描述输入字段预期值的简短的提示信息(比如:一个样本值或者预期格式的短描述). 问题 ...

  6. 关于个人开源项目(vue app)的一些总结

    关于个人开源项目(vue app)的一些总结 项目地址 https://github.com/BYChoo/record 项目简介 此项目名叫:Record.是以Vue全家桶(vue,vue-rout ...

  7. python-图的字典表示

    图的字典表示.输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度.比如上图0点表示:{'O':{'A':2,'B':5,'C':4}}.用eval函数处理输入,eva ...

  8. C#编写程序,找一找一个二维数组中的鞍点

    编写程序,找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该列上最小.有可能数组没有鞍点).要求: 1.二维数组的大小.数组元素的值在运行时输入: 2.程序有友好的提示信息. 代码: us ...

  9. Python Pandas库 初步使用

    用pandas+numpy读取UCI iris数据集中鸢尾花的萼片.花瓣长度数据,进行数据清理,去重,排序,并求出和.累积和.均值.标准差.方差.最大值.最小值

  10. 深入理解Kafka核心设计及原理(五):消息存储

    转载请注明出处:https://www.cnblogs.com/zjdxr-up/p/16127749.html 目录: 5.1文件目录布局 5.2消息压缩 5.3日志索引 5.4日志文件及索引文件分 ...