zoukankan      html  css  js  c++  java
  • 学习笔记:《Kali Linux 2 网络渗透测试 实践指南 第2版》之主动扫描(Nmap)

    本章重点内容:

    1、Nmap的基本用法

    2、使用Nmap进行设备发现

    3、使用Nmap进行端口扫描

    4、使用Nmap扫描目标系统

    5、使用Nmap扫描目标服务

    接下来针对本章内容展开详细说明

    1、Nmap的基本用法

    在kali中直接打开shell命令行,输入nmap+ip地址,可以直接扫描单台设备,如下

     通过扫描的结果数据,我们来细看结果的内容:

    第一行:starting Nmap一行,给出了Nmap版本7.91,以及扫描开始的时间2021-07-05 09:42

    第二行:Nmap scan report 是一个标题,表明生成的是关于ip地址为****的设备报告

    第三行:Host is up 表示设备的状态是up(开机并联网的状态)

    第四行:Not shown 表示在进行检查的1000个端口中,有994个端口是关闭的

    从第五行开始,是一个表,表中有三个字段,分别是Port、State、Service

    Port指的是端口,state指的是状态,service值得是提供的服务

    以第一个【135/tcp】为例,state的值是open,service的值是msrpc,表示发现目标设备上的135号端口目前处于开发状态,这个端口提供msrpc服务

    最后一行:表示共对1台设备进行扫描,发现1台状态为up的设备,耗时9.71秒

    对于以上数据的说明自己可以尝试扫描不同的ip,如下,如果扫描自己ip会发现什么?

     针对以上扫描结果可以自行解读试试看

    2、使用Nmap进行设备发现

    2.1 使用ARP进行设备发现

    可以通过参数【-sn】来扫描发现主机,如下:

     从扫描结果可以看到,【-sn】参数表示不进行端口扫描,只进行主机发现扫描

    2.2 使用ICMP进行设备发现

    可以通过参数【-PE/PP/PM】分别进行使用ICMP响应(echo)、时间戳或子网掩码请求来发现探测,此处用【-PE】参数为例,如下:

     从结果看,其实扫描的时候是无法发现的,主要是因为这种方式因为有防火墙的原因,被很多的网络所禁止了

    根据结果中的提示,可以尝试【-Pn】的扫描,如下:

     参数【-Pn】的意思是将所有主机都默认为在线,跳过主机发现,为什么要跳过主机发现呢?

    Nmap在进行扫描之前,都会对目标设备进行ping扫描,如果目标设备对ping扫描没有反应,就会直接结束整个扫描过程。

    如果目标设备在线,只是采用某种手段屏蔽了ping扫描,那么也会因此躲过其他扫描操作,

    所以该参数的意义就是,不利目标设备是否响应ping扫描,都要将整个扫描过程完成

    2.3 通过TCP进行设备发现

    参数【-PS】表示TCP SYN扫描,使用如下:

     从扫描结果看,无法发现主机,被屏蔽

    参数【-PA】表示TCP ACK扫描,使用如下:

     从上面的扫描结果看,也没有成功,这种类型的扫描很少能成功,因为目标设备商的安全机制或者安全设备将这种数据包直接过滤了。

    2.4 使用UDP进行设备发现

    对应使用的参数是【-PU】,具体使用如下:

     直接使用,系统会提示需要root权限,切换到root权限再使用,如下:

     在nmap前面增加【sudo】表示通过root权限运行,第一行会提示要求输入密码,输入密码,回车即可,此处不会显示输入的密码

    从扫描的结果看,也没有成功,说明目标设备对其数据包进行了屏蔽或者过滤

    3、使用Nmap进行端口扫描

    前面我们使用的是直接扫描ip地址,其实Nmap也可以针对端口进行扫描

    不同的端口扫描技术

    SYN扫描:参数【-sS】,具体使用如下:特别提醒,要通过root权限的方式运行

     Connect扫描:参数【-sT】,具体使用如下:

     UDP扫描:参数【-sU】,具体使用如下:

     4、使用Nmap扫描目标系统

    对目标系统的扫描可以通过参数【-O】来实现,如下:

     从结果看,扫描结果会对目标系统进行猜测,在这里占比最高的是97%,是windows系统

    在这个参数基础上,还有一个更深入的参数【--osscan-guess】表示,猜测认为最接近目标设备的操作系统类型,具体使用如下:

     可以对比一下两个扫描的结果,看下有什么不同,端口的扫描结果有差异

    5、使用Nmap扫描目标服务

    使用参数【-sV】可以打开和控制版本探测,具体使用如下:

     从扫描结果看,在服务右侧多了一列,是版本的数据,对应前面不同服务和端口

  • 相关阅读:
    Java-常用类、接口关系图谱
    Java基础语法09-面向对象下-内部类-注解-异常
    Java基础语法08-面向对象-枚举-包装类-接口
    Java-常用类、接口API
    Docker学习系列(三)Docker搭建gitlab的两种方式
    Docker学习系列(二)Docker初体验
    Docker学习系列(一)Docker简介
    ZooKeeper介绍与环境搭建
    JDK工具系列之jps
    Mycat数据库中间件对Mysql读写分离和分库分表配置
  • 原文地址:https://www.cnblogs.com/zhangjiyou/p/14974871.html
Copyright © 2011-2022 走看看