当前位置: 首页 > news >正文

常见的端口扫描

以下是端口扫描方式的详细解释,包括其工作原理、特点和应用场景:


1. 完全连接扫描(Full Connect Scan)

  • 原理
    扫描器尝试与目标主机的指定端口完成完整的 TCP 三次握手

    1. 发送 SYN 报文;
    2. 接收到目标返回的 SYN-ACK
    3. 再发送 ACK 报文,建立连接。

    如果连接成功建立,说明该端口处于 开放(Open) 状态;若返回 RST(复位),则端口为 关闭(Closed)

  • 特点

    • 扫描结果准确、可靠;
    • 容易被目标主机的日志系统记录(因为连接已建立);
    • 扫描行为明显,隐蔽性差;
    • 常用于对安全性要求不高或允许深度探测的环境。
  • 应用场景
    适用于内部网络安全检测、服务可用性测试等需要高准确率的场景。


2. 半连接扫描(Half-Open Scan / SYN 扫描)

实际上 SYN扫描就是最常见的半连接扫描。解释如下:

SYN 扫描(Syn Scan)—— 半连接扫描的典型代表
  • 原理
    扫描器只完成三次握手的前两步:

    1. 发送 SYN 报文;
    2. 接收到目标返回的 SYN-ACK(表示端口开放);
    3. 不发送第三次 ACK,而是直接断开连接(可能发送 RST 复位)。

    这样,连接并未真正建立,称为“半连接”。

  • 特点

    • 不建立完整连接,隐蔽性强,不易被应用层日志记录;
    • 扫描速度快、效率高;
    • 能区分开放、关闭和过滤状态;
    • 被大多数防火墙和入侵检测系统(IDS)识别为可疑行为;
    • 是 Nmap 默认的扫描方式(nmap -sS)。
  • 应用场景
    广泛用于网络渗透测试、安全评估中的端口发现阶段。

📌 注:“半连接扫描”是一个泛称,SYN 扫描是其最常见实现方式。


3. FIN 扫描(FIN Scan)

  • 原理
    扫描器向目标端口发送一个 FIN 报文(结束连接标志),而不建立任何连接。根据返回的响应判断端口状态:

    • 如果端口 关闭,目标通常会返回 RST
    • 如果端口 开放,许多操作系统会直接丢弃 FIN 报文(无响应);
    • 因此,无响应通常被认为是端口开放的迹象。
  • 特点

    • 完全不建立连接,高度隐蔽
    • 不触发服务日志,难以被传统防火墙发现;
    • 依赖操作系统对 TCP 协议栈的实现差异,结果不总是可靠
    • 对 Windows 系统效果差(Windows 通常会对 FIN 回复 RST),但在某些类 Unix 系统上有效;
    • 使用命令:nmap -sF
  • 应用场景
    用于绕过防火墙或 IDS 的检测,适用于高级渗透测试中的隐蔽探测。


总结对比表

扫描方式是否完成三次握手隐蔽性准确性是否易被记录典型工具/命令
完全连接扫描是(三次握手)nmap -sT
SYN 扫描否(只两次)中高较难(未完成)nmap -sS(默认)
FIN 扫描否(无连接)nmap -sF

补充说明

  • 为什么 FIN 扫描能绕过防火墙?
    因为正常的 TCP 连接应以 SYN 开始,而直接发送 FIN 的数据包在正常通信中不会出现,部分防火墙或日志系统可能忽略此类异常包,从而实现“隐身”扫描。

  • 注意事项
    所有扫描行为在未经授权的情况下对他人网络进行探测均可能违法,请仅在合法授权范围内使用(如安全测试、CTF竞赛、自我系统检测)。


如果您还想了解其他扫描方式(如 ACK 扫描、NULL 扫描、UDP 扫描等),欢迎继续提问!

http://www.dtcms.com/a/343359.html

相关文章:

  • 从零到一:RAGFlow 本地部署全攻略
  • Python工程师向项目管理转型的深度分析与学习道路规划
  • 容器化与云安全实践:ChartMuseum、私有仓库、云安全、应用部署、生命周期、定时任务、HPA管理案例流程
  • visual studio更改git提交的用户名和邮件
  • LT8712SX,Type-C/DP1.4 /eDP转 DP1.4/HD-DVI2.0 带音频
  • 服务区小汽车违停检测算法创新与实践
  • Android系统框架知识系列(十二):通知中枢 - Notification Manager Service深度解析
  • 工厂模式全解析:简单、方法、抽象工厂详解
  • comfyUI背后的一些技术——Checkpoints
  • leetcode_238 除自身以外的数组乘积
  • 图--常见面试问题
  • 面试可能问到的问题思考-Redis
  • 开源后台管理系统
  • 云蝠智能Voice Agent的多语言、多音色与语音克隆技术解析
  • 手动实现树形下拉菜单
  • 云原生俱乐部-RH294知识点归纳(2)
  • EEMD-LSTM模型择时策略 --- 1.EEMD分解与LSTM模型搭建
  • 开源,LangExtract-Python库用LLM从非结构化文本提取结构化信息
  • 生产环境的 MySQL 数据库能用 Docker 吗?
  • Spring面试宝典:Spring IOC的执行流程解析
  • ES_数据存储知识
  • 基于SpringBoot的宠物用品系统【2026最新】
  • odoo-063 pip 安装 Segmentation fault (core dumped),曲线救国
  • Vue3 + TypeScript全局阻止非输入区域的Backspace键,防止回退页面
  • Redis实战-基于Session实现分布式登录
  • 深度学习——yolo学习
  • AI模型部署 - 大语言模型(LLM)部署技术与框架
  • Android auncher3实现简单的负一屏功能
  • 基于YOLOv8-SEAttention与LLMs融合的农作物害虫智能诊断与防控决策系统
  • 运动数据采集如何帮助克里斯·凯尔飞跃迎面驶来的F1赛车