首页 > 其他分享 >【安全测试】nmap培训

【安全测试】nmap培训

时间:2022-09-26 17:44:07浏览次数:88  
标签:培训 scan nmap 端口 扫描 TCP 7.2 测试

nmap官网地址:https://nmap.org/

nmap扫描脚本:https://nmap.org/nsedoc/

 

一、nmap是什么?

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

 

二、端口扫描原理

        端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。

        当一个主机向远端一个服务器的某一个端口提出建立一个连接的请求,如果对方有此项服务,就会应答,如果对方未安装此项服务时,即使你向相应的端口发出请求,对方仍无应答,利用这个原理,如果对所有熟知端口或自己选定的某个范围内的熟知端口分别建立连接,并记录下远端服务器所给予的应答,通过查看一记录就可以知道目标服务器上都安装了哪些服务

 

三、扫描器

        扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!

        作用:帮助我们发现目标机的某些内在的弱点,并不直接攻击系统

 

四、端口扫描器的分类

  • 扫描环境:windows/linux
  • 扫描数量:单一/多端口扫描器
  • 扫描结果:扫描开关状态/扫描漏洞
  • 扫描技术:一般扫描器/特殊扫描器

五、应用场景

  • 探测一组主机是否在线,探测网络上的主机
  • 扫描目标主机端口,嗅探所提供的网络服务
  • 推断主机所用的操作系统
  • 通过对设备或者防火墙的探测来审计其安全性
  • 网络存储、网络映射、维护和资产管理(这个有待深入)
  • 通过识别新的服务器审计网络的安全性

 

六、扫描类型

       1.TCP 全连接扫描:

                这是最基本的TCP全连接扫描,完成三次握手。与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么连接就能成功。

优点:1.不需要任何权限

                缺点:很容易被发觉,并且被过滤掉

       2.TCP SYN扫描

              “半开放”扫描,三次握手前两次,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。

端口开放:1、Client发送SYN  2、Server端发送SYN/ACK 3、Client发送RST断开(只需要前两步就可以判断端口开放)

             端口关闭:1、Client发送SYN  2、Server端回复RST(表示端口关闭)

              优点:一般不会在目标计算机上留下记录

              缺点:必须要有root权限才能建立自己的SYN数据包

        3.TCP FIN 扫描

               秘密扫描,FIN为指示TCP会话结束,在FIN扫描中一个设置了FIN位的数据包被发送后,若响应RST数据包,则表示端口关闭,没有响应则表示开放。一些防火墙包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。

               发送FIN,返回RST (端口关闭,回复RST包;端口开放,不回复)

               优点:减少了被目标主机记录下来的可能性,安全性较高. 

               缺点:系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了

 

七、命令行扫描

1.简单扫描

        语法:nmap <目标ip>

        举例:nmap 10.82.241.2

        举一反三:多个 IP 可以以逗号分隔:192.168.1.1,2,3,4,5,也可以使用短横线来表示范围:192.168.1.1-255,也可以使用 CIDR 记法:192.168.1.0/24

2.显示详细信息

        语法:nmap -vv <目标 IP>

        举例:nmap -vv 192.168.1.1

3.自定义端口

        语法:nmap <目标 IP> -p <端口>

        举例:nmap 192.168.1.1 -p 1-500

举一反三:端口可以是单个,也可以是多个,多个端口可以以逗号分隔,比如21,22,23,53,80,也可以使用短横线指定范围,比如1-1024
4.Ping 扫描
     说明:Ping 扫描其实就是只执行主机发现,不扫描具体端口
语法:nmap -sP <目标 IP>
举例:nmap 192.168.1.1 -sP
举一反三:有一个选项是只执行端口扫描,不执行主机发现的,是-PN(或-P0
5.
操作系统类型检测
语法:nmap -O <目标 IP>
举例:nmap www.baidu.com -O
6.组合扫描
说明:比如我们要扫描1 ~ 1024 端口,详细输出,并且探测操作系统。
   举例:
nmap 192.168.1.1 -p 1-1024 -vv -O
7.生成报告
语法:nmap -ox <路径>
举例:nmap 192.168.1.1 -p 1-1024 -vv -O -ox D:\scan_report.xml
8.常用其他参数

    -sP :ping扫描(不进行端口扫描)

    -sT:进行TCP全连接扫描

    -sS:进行SYN半连接扫描

    -sF:进行FIN扫描

    -sN:进行Null扫描

    -sX:进行Xmas扫描

    -O:进行测探目标主机版本(不是很准)

    -sV:可以显示服务的详细版本

    -A:全面扫描

    -oN:会将扫描出来的结果保存成一个txt文件

    -sC:脚本扫描(查看脚本数量ls /usr/share/nmap/scripts/ |wc -l)


9.汇总扫描

     nmap –n –P0 –sS –sV –p1-65535 –oX scan_report.xml 10.1.1.1

     nmap -Pn 10.1.1.1 -vv 

     nmap -vv 10.1.1.1,2  -p 1-65535 --sT

    抓包分析:sudo tcpdump -i enp175s0f1 src 10.1.1.1


八、图形化界面扫描
7.1.界面介绍

 

 

 

7.2.zenmap的十种扫描方式
7.2.1 Intense scan 强扫描
        nmap –T4 –A –v
        -T4,时序性,0-5级,级别越高扫描速度越快,也越容易被发现,推荐T4
        -A,探测主机操作系统
        -v,表示显示冗余(verbosity)信息,扫描过程中打印详细信息
7.2.2 UDP[3] 扫描 Intense scan plus UDP

7.2.3 扫描所有 TCP[4] 端口 Intense scan,all TCP ports

7.2.4 非 ping 扫描 Intense scan,no ping

7.2.5 ping scan Ping扫描

7.2.6 快速的扫描 Quick scan

7.2.7 快速扫描加强模式 Quick scan plus

7.2.8 路由跟踪 Quick traceroute

7.2.9 规则扫描 Regular scan

7.2.10 慢速全面扫描 Slow comprehensive scan



九、扫描结果分析

1.端口状态

open(开放的)
如果扫描该端口显示open证明该应用端口属于开放的。安全意识强的人 们知道每个开放的端口都是攻击的入口。

closed(关闭的)
如果扫描该端口显示closed证明该应用端口是关闭的,但是关闭的端口对于Nmap也是可访问的。

filtered(被过滤的)
如果扫描该端口显示filtered证明该应用端口可能被过滤,大概意思就是可能被专业的防火墙设备,路由器规则或者主机上的软件防火墙拦截下来了。

unfiltered(未被过滤的)
如果扫描该端口显示unfiltered证明可以访问的,但是Nmap不确定它是开放还是关闭。只有映射防火墙规则集的ACK扫描才会把端口分类到这种状态。用其他类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮忙确定该端口是否开放。

open|filtered(开放或者被过滤的)
如果扫描该端口显示open|filtered表示Nmap无法确定该端口是开放还是被过滤的。

closed|filterd(关闭或者被过滤的)
如果扫描该端口显示closed|filterd表示Nmap也不能确定该端口是否是关闭还是过滤的。

2.扫描报告样例

 

 

 

标签:培训,scan,nmap,端口,扫描,TCP,7.2,测试
From: https://www.cnblogs.com/happylumei/p/16731780.html

相关文章

  • 【安全测试】fortify分享培训资料
    一、安全测试类型介绍  二、安全测试工具介绍11测试软件面向测试场景AWVS适用于系统漏洞扫描nessus适用于系统和数据库漏洞扫描,包括但不限于:主机、网......
  • 软件测试项目实战【不爱听书】测试全套教程以及源码
    前言软件测试流程:需求分析—>测试计划—>测试设计—>测试执行—>测试报告一、需求分析“不爱听书”是一个为用户提供创作音乐和收听音频的平台。对于该项目的需求分析,提......
  • 注解-案例-简单的测试框架
    注解-案例-简单的测试框架Check注解  Calculator计算器类  TestCheck测试类我们可以明显的看到div方法也就是除法写错了,所以输出的时候,就不会输出,运行完程序......
  • 【安全测试】【fortify】【源码审计】windows下源码审计fortify安装及使用
    一、fortify安装(非商用,仅学习使用)1.解压安装包2.双击exe文件进行安装,下一步即可,直至完成  3.exe安装完成后,将下图三个文件拷贝到安装目录下的Core\config下替换 ......
  • 使用openpyxl读取测试数据
    --CODING:UTF-8--@Time:2022-09-2615:25@File:handle_excel**封装读取excel**fromopenpyxlimportload_workbookimportosimportjsonfromCommon.handl......
  • UI测试报告jenkens整合
    (一)在本地整合出报告1.在cmd分别安装pytest和allure-pytestpip3installpytestpipinstallallure-pytest需要allure结合pytest才可以生成很漂亮的测试报告2.进入需要......
  • 第2章---自动化测试基础
     手工测试(以人为驱动):表示的针对被测系统或者软件实现业务流中的每条路径进行覆盖(每条用例进行手工执行);测试工程师在此过程中就会产生相应的一些弊端; 1.测试人员产......
  • 技术分享 | 单元测试体系集成
    本文节选自霍格沃兹测试开发学社内部教材JUnit是一个基于Java语言的单元测试框架,可以用它来编写单元测试用例,用途广泛能被各种工具支持,每个JUnit单元测试相对独立,......
  • 测试
    一、降级(请求超时)引入依赖<!--放到调用者的pom.xml中--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-net......
  • Junit测试概述和Junit使用步骤
    Junit测试概述测试分类:黑盒测试:不需要写代码。给输入值,看程序是否能输出期望的值白盒测试:需要些代码的。关注程序具体的执行流程Junit使用步......