• 本片介绍的是Namp的Linux Kali操作系统下的使用,Nmap在Windows操作系统下的使用,点击文章===>https://blog.csdn.net/qq_41453285/article/details/98596828

一、工具介绍

  • 功能概述:Nmap是主动扫描工具,用于对指定的主机进行扫描
  • 历史背景:Nmap是由Gordon Lyon设计并实现的,与1997开始发布,最初设计的目的是希望打造一款强大的端口扫描工具,但是随着发展,Nmap已经变为全方面的安全工具
  • “NSE”脚本引擎:Nmap中的该引擎提供了可以向Nmap添加新的功能模块
  • nmap是一个强大的工具,如果想要深入了解,可以参考书籍《诸神之眼——Nmap网络安全审计技术揭秘》

Nmap可以实现的功能

如果你对一台计算机进行审计(扫描)的话,可以获取以下信息:

  • 目标主机是否在线
  • 目标主机所在网络的拓扑
  • 目标主机开发的端口
  • 目标主机所使用的操作系统
  • 目标主机所运行的服务以及版本,例如Apache hpptd 2.2.14、OpenSSH 5.3pl、Debian 3ubuntu4
  • 目标主机所存在的漏洞,例如弱口令、ms08_067、ms10_054等

Nmap的打开使用

  • nmap的使用是不需要进入某个进程的,而是直接在命令行输入namp+选项来进行操作

二、对主机地址进行扫描

①对单个主机进行扫描

  • 命令格式:nmap 主机IP

例如下面我们对IP为192.168.43.137的主机进行扫描,显示的内容如下

  • 第1行:Nmap的版本以及扫描开始的时间
  • 第2行:是一个标题,生成的是关于192.168.43.137主机的报告
  • 第3行:给出了目标主机的当前状态,“up”意味着该主机处于联网状态
  • 第4行:在进行的1000个端口中,有998个端口时关闭的(不加任何选项,nmap默认扫描1000个端口)
  • 第5、6、7:代表当前主机开发的端口以及端口对应的服务
  • 第8行:该主机的MAC地址,以及网卡的类型
  • 最后一行:总结信息(扫描了一台主机,共耗时10.34秒)

-sn选项(主机在线检查)

  • nmap不加任何选项时,会扫描目标主机的在线状态、以及端口扫描。使用-sn选项:可以只检测目标主机是否在线

例如:可以看到目标主机192.168.43.54处于在线状态

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

  • 格式:nmap [目标1  目标2  目标3.....]

例如下面我们对192.168.43.137、192.168.43.54、192.168.43.88三个主机进行扫描,扫描之后,各个主机信息分开看到只有2个主机处于在线状态

③对连续范围内的主机进行扫描

  • 格式:nmap [IP地址范围]

例如:下面我们检测192.168.43.1-255范围内的主机有多少处于联网状态,可以看到有3个主机处于联网状态

④对整个子网进行扫描

nmap还支持使用CIDR的方式来扫描整个子网

  • 格式:nmap [IP地址/掩码位数]

例如:我们检查192.168.43.1子网下的所有主机有多少在线,可以看到与刚才扫描连续范围内的主机结果是一样的

三、使用协议对主机进行扫描

①屏蔽ping协议扫描(-PN选项)

概念:通过nmap再进行其他扫描之前,都会对目标进行一个ping扫描,如果对目标没有ping,那么就会结束整个扫描过程。有些主机就利用了这种特性,其实目标在线,但是采取了某种手段屏蔽了ping扫描,那么我们的nmap就扫描不到这个主机了。屏蔽ping扫描的功能就是:在nmap扫描的过程中,不论目标主机能不能ping通,都要将整个扫描过程完成

  • 格式:nmap  -PN  [目标]

②仅适用ping协议进行扫描(-sP选项)

概念:与-PN选项相反,适用此选项则只对目标采取ping协议,因为只采用ping协议扫描,所以扫描速度较快

  • 格式:nmap  -sP  [目标]

③使用ARP协议对主机进行扫描(-PR选项)

概念:如果目标主机与自己处于同一网段下,那么就可以使用ARP协议进行扫描,这个扫描速度最快,且最为精准

  • 格式:nmap  -PR  [目标]

④使用TCP协议对主机进行扫描(-sT、-sS选项)

三次握手过程:主动端先发送SYN报文,被动端回应SYN+ACK报文,然后主动端再回应ACK

概念:利用三次握手原理,namp向目标先发送SYN报文,如果对方回应SYN+ACK,说明目标在线

  • 全开扫描(-sT选项):完成了3次握手的扫描称为“全开扫描”
  • 半开扫描(-sS选项):由于3次握手中,最后一步的意义不大,所以扫描的时候,第三步没有进行的扫描称为“半开扫描”

建议:建议使用半开扫描,因为这种扫描速度最快,并且不容易被目标的日志记录

⑤使用UDP协议对主机进行扫描(-sU选项)

UDP协议比TCP协议简单,但是不如TCP协议方便,并且耗时很长

  • 格式:nmap  -sU  [目标]

四、端口扫描

  • nmap对端口的扫描一般采用TCP协议,并且不给出其它参数选项时,只默认扫描1000个端口

对目标端口扫描时,扫描到的端口状态有以下5种:

  • open:应用程序在该端口接受TCP连接/UDP报文
  • closed:关闭的端口对于nmap也是可访问的,它接受nmap探测报文并作出响应,但是没有应用程序在其上监听
  • filtered:由于包过滤阻止探测报文达到端口,nmap无法确定端口是否开放。过滤可能来自专业的防火墙设备,路由规则或者主机上的软件防火墙
  • unfiltered:未被过滤状态意味着端口可访问,但是nmap无法确定它是开发还是关闭。只有映射防火墙规则集的ACK扫描才会把端口分类到这个状态
  • open|filtered:无法确定端口是开放还是过滤,开放的端口不响应就是一个例子

①扫描全部端口

  • 格式:nmap  -p  "*"  [目标]

②扫描指定端口

  • 格式:nmap  -p  端口号  [目标]

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

该方法是扫描使用频率最高的n个端口,而不是扫描前n个端口

  • 格式:nmap  --top-ports  端口数量  [目标]

五、扫描操作系统类型

  • 功能:nmap可以扫描目标主机,并且猜测目标主机属于哪种操作系统。例如我们知道了目标系统为Windows XP,那么就不必再使用针对Linux系统的渗透测试的方法了等等。越老旧的操作系统意味着越容易被渗透,所以我们在进行渗透的时候往往希望找到目标网络中那些比较老的系统
  • 原理:nmap通过向目标主机发送探针,然后根据目标主机的回应猜测系统。这种探针大都以TCP和UDP数据包的形式,检查的细节包括初始序列号(ISN)、TCO选项、IP标识符(ID)数字时间戳、显示拥塞通知(ECN)、窗口大小等,每个操作系统对于探针都会做出不同的相应,nmap将这些响应特征提取并记录在一个数据库中,每回nmap扫描时都与这个文件对比。探针和响应特征的对应关系存放在nmap安装目录的namp-os-db文件中
  • 注意:因为nmap只是将响应特征与数据文件对比,然后对目标主机进行猜测,所以结果可能有多种,猜测结果也不一定为真
  • 命令格式:nmap  -O [目标]

每回nmap扫描时,回去验证如下参数:

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

演示案例

  • 例如我们扫描的主机可能为Linux 3.x或者4.x版本

六、 目标服务类型扫描

  • 概念:之前使用nmap对主机进行扫描,已经显示了一些端口与端口对应的服务,但是这些信息只是从数据库文件中读取的,事实上端口所运行的真实服务并非你所看到的服务,因此就需要使用nmap的某些选项来进行扫描
  • 命令格式:nmap  -sV  [目标]

扫描过程

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

nmap-services数据库:

  • 当你用nmap对目标进行扫描时,namp会告诉你哪些端口分别对应着什么服务和进行,但是该数据库记录的知识标准化的“端口与服务对应”概念,例如http是80、ftp是21。但是某些主机可能在这些端口上运行着别的服务,因此不使用-sV选项,nmap扫描到的也不一定是正确的结果

nmap-service-probes数据库:

  • 使用了-sV选项后,nmap扫描目标主机之后,版本探针会询问这些端口,到底是什么服务在运行。nmap-service-probes数据库包含查询不同服务的探针报文和解析识别相应的匹配表达式
  • 数据库完成:当nmap从某个服务收到相应,但不能在数据库中找到匹配时,它就打印一个特殊的fingerprint和一个URL给使用者提交。如果此时使用者确实知道什么服务运行在端口,那么就可以花费几分钟提交这份报告,然后记录在数据库文件中,从而让nmap完善
  • 演示案例:扫描一个主机所运行的服务以及服务对应的版本号(VERSION)

七、将扫描结果保存为记录文件

  • 概念:如果想记录一次扫描的结果,并且保存在文件中,可以使用以下命令。文件默认保存在当前目录下
  • 命令格式:nmap  -oX  文件名  [目标]

例如:将此次扫描结果保存为.xml文件

Kali扫描工具Nmap相关推荐

  1. 网络扫描工具Nmap常用命令

    网络扫描工具Nmap常用命令 Nmap是一款知名的网络安全审计工具.它免费.开源,可以快速完成各种网络审计功能.它提供了多种探测方式,基于各种网络协议规范,可以发现网络设备并探测设备的各种常见端口.利 ...

  2. 【网络攻防】网络扫描工具Nmap的使用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 实验目的 实验环境 一.zenmap(图形化界面) 1.观察界面 2.扫描主机 3.扫描服务器 二.namp命令行模式 1. ...

  3. linux系统端口扫描工具,[命令] Linux 端口扫描工具 nmap 的使用(转载)

    注意:在使用 nmap 命令之前要先安装 nmap 软件包 Nmap 简介 Nmap ("Network Mapper(网络映射器)") 是一款开放源代码的 网络探测和安全审核的工 ...

  4. Linux下安全扫描工具Nmap用法详解

    扫描器是一种能够自动检测主机安全性弱点的程序.扫描器通过发送特定的网络数据包,记录目标主机的应答消息,从而收集关于目标主机的各种信息.目前网络上有很多扫描软件,比较著名的扫描器有SSS,X-Scan, ...

  5. 网络扫描工具Nmap使用教程(1)

    http://blog.sina.com.cn/s/blog_a1790a3701012tmo.html 1.简介 是什么:Nmap ("Network Mapper") 是一个免 ...

  6. 端口扫描工具 NMAP使用详解,收藏这一篇就够了

    前言 为了保护计算机不受攻击和各种病毒.木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡.过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全: 那么,今天主 ...

  7. 网络扫描工具nmap

    nmap一般就用来扫描主机是否在线(特别是扫描局域网内存活的机器).开放了哪些端口.其他的功能用的比较少,做渗透的人可能要了解的多些. 1.1 选项说明 nmap需要自行安装. shell> y ...

  8. 最强大的主动扫描工具-Nmap

    Nmap 是当今最顶尖的网络审计工具之一,在国外已经被大量的网络安全所使用,甚至在一些电影电视中,它都会大显身手.最有影响力的就是<黑客帝国>,在<黑客帝国2>中,就曾使用Nm ...

  9. 端口扫描工具-Nmap

    Nmap是一款功能强大,功能丰富的网络扫描工具,对于网络管理员和安全专业人员来说,是一个非常有用的工具,并且被广泛应用于安全审计.网络调查.漏洞搜寻等领域. (能扫描主机的端口,查看端口是否开放,端口 ...

  10. 端口扫描工具 NMAP

    免费福利 前言 为了保护计算机不受攻击和各种病毒.木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡.过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全: 那 ...

最新文章

  1. 人工智能商业化的重点:语音交互和人脸识别
  2. python-装饰器,类与对象,私有字段,析构,__call__,继承,多继承,接口
  3. 渗透知识-常用DOS命令windows
  4. 洛谷 - P1381 - 单词背诵 - 哈希 - 尺取
  5. IO流(文本文件读取练习)
  6. java 可用内存_总可用内存java
  7. [数据库]---mysql 插入sql之 INSERT INTO和INSERT IGNORE INTO和REPLACE INTO和ON DUPLICATE KEY UPDATE比较应用
  8. 服务器集成显卡性能,Win8.1与Ubuntu 14.10:集成显卡性能PK
  9. android setflag找不到_Android面试题4–Activity之Intent的Flag
  10. 2019-0405视觉SLAM的学习第三讲02
  11. Mybatis插件机制原理
  12. 大学四年,我是怎么靠做外包私活赚了10w+,实现经济独立
  13. 技术分享 | MaxScale 实现 MySQL读写分离
  14. CMake | include_guard命令详解
  15. 关于路由器的配置参数
  16. 生产过程监控没有你想象那么难!
  17. 2016年微信app支付开发填坑篇
  18. 李开复万字长文科普人工智能:AI是什么 将带我们去哪儿?
  19. 讯飞输入法键盘计算机,讯飞输入法电脑版使用教程
  20. 编译原理:高级程序设计语言的语法描述

热门文章

  1. 精易论坛多线程培训第二期
  2. 迅捷PDF编辑器怎么编辑修改PDF文件?
  3. 项目经理需要具备的技能
  4. 第九届蓝桥杯JavaA组省赛真题
  5. 自考《软件工程》总结笔记
  6. 基于FPGA的出租车计费器的设计
  7. python 科研作图_科研作图软件(11种)
  8. 锁存器,触发器,寄存器关系及区别
  9. HYSPLIT模型后向轨迹制作
  10. java开发工程师实习日志