Nmap 的 FIN 扫描和空扫描是什么

1. FIN 扫描 (FIN Scan)

  • 命令nmap -sF <target>
  • 原理
    • FIN 扫描的原理基于 TCP 协议的 RFC 793 规范
    • 攻击者向目标端口发送一个只包含 FIN(Finish)标志位的 TCP 数据包
    • 如果端口是关闭的:根据 TCP 协议规范,目标系统会回复一个带有 RST(Reset)标志位的 TCP 包,表示连接已重置
    • 如果端口是开放的:根据 TCP 协议规范,目标系统会忽略这个包,不回复任何信息
  • 优点
    • 隐蔽性:由于不进行完整的三次握手,许多基本的防火墙和 IDS 都不会记录这种连接尝试,从而使扫描行为更加隐蔽
    • 绕过状态防火墙:一些状态防火墙只跟踪那些以 SYN 包开始的连接。由于 FIN 扫描不使用 SYN 包,因此可以绕过这类防火墙
  • 缺点
    • Windows 兼容性:FIN 扫描在许多非 Windows 系统(如 Linux、BSD)上表现良好,但在 Windows 系统上,即使端口是开放的,它也可能回复一个 RST 包,导致扫描结果不准确。这是因为 Windows 系统的 TCP/IP 栈实现与 RFC 规范略有不同

2. 空扫描 (Null Scan)

  • 命令nmap -sN <target>
  • 原理
    • 空扫描的原理与 FIN 扫描类似,也基于 TCP 协议规范
    • 攻击者向目标端口发送一个没有任何标志位SYN, ACK, FIN, RST 等)的 TCP 数据包
    • 如果端口是关闭的:根据 TCP 协议规范,目标系统会回复一个带有 RST 标志位的 TCP 包
    • 如果端口是开放的:根据 TCP 协议规范,目标系统会忽略这个包,不回复任何信息
  • 优点
    • 极度隐蔽:由于发送的数据包没有任何标志位,空扫描比 FIN 扫描更具隐蔽性,因为数据包看起来像是损坏或无效的,许多 IDS 可能会直接忽略它
  • 缺点
    • Windows 兼容性:与 FIN 扫描一样,空扫描在 Windows 系统上同样表现不佳,即使端口开放,也可能收到 RST 回复,导致误报
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:12:51

results matching ""

    No results matching ""