1-18

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 规范略有不同