TCP FIN 扫描

TCP FIN 扫描是一种隐蔽的网络扫描技术,用于探测目标主机上的端口状态,而不需要完成完整的TCP三次握手过程。

工作原理

  1. 扫描者向目标端口发送一个FIN标志位设置为1的TCP数据包(FIN包通常用于正常连接终止)
  2. 根据响应判断端口状态:
    • 如果端口关闭:目标主机将返回RST(复位)响应
    • 如果端口开放:大多数系统会丢弃FIN包,不返回任何响应(违反RFC 793标准)

特点

  • 隐蔽性:比SYN扫描更隐蔽,因为不建立完整连接
  • 绕过防火墙:可能绕过简单的防火墙规则,因为FIN包看起来像正常连接终止
  • 不可靠性:结果可能不准确,因为有些系统(如Windows)对FIN包会返回RST无论端口是否开放

与其他扫描类型的比较

  • SYN扫描:更可靠但不够隐蔽
  • NULL扫描:发送没有任何标志位的TCP包
  • XMAS扫描:发送FIN/URG/PUSH标志位都设置的TCP包

使用示例

在Nmap中,可以使用以下命令进行FIN扫描:

text

nmap -sF <目标IP>

防御措施

  • 配置防火墙记录和阻止异常TCP标志组合
  • 使用入侵检测系统(IDS)监测异常扫描活动
  • 保持系统更新以正确处理非常规TCP包

FIN扫描是网络管理员和安全人员常用的工具,但也可被攻击者用于网络侦察。