Ethical Hacking Academy · 课时

端口扫描技术

SYN、连接与 UDP

第 2 / 4 课13 个步骤

端口扫描技术 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。

为什么要扫描端口

开放端口会暴露主机正在运行的服务,这就是您的攻击面地图。端口扫描用于确定哪些 TCP 和 UDP 端口处于开放、关闭或被过滤状态。

Nmap 提供多种扫描技术,每种技术在速度、隐蔽性和所需权限方面各有取舍。

端口状态

Nmap 会将每个端口报告为以下某种状态:

  • 开放:某项服务正在主动接受连接。
  • 关闭:可以到达,但没有服务在监听。
  • 被过滤:防火墙阻止了探测,因此 Nmap 无法确定状态。
  • 开放|被过滤和关闭|被过滤:结果存在歧义。

TCP 三次握手

要理解扫描,您需要先了解 TCP 握手:

  • 客户端发送 SYN。
  • 如果端口开放,服务器回复 SYN-ACK。
  • 客户端发送 ACK,完成连接。

关闭的端口会回复 RST。不同扫描类型完成握手的程度不同。

SYN 扫描

SYN 扫描(-sS)是在 root 身份下运行时的默认方式。它发送 SYN,检查 SYN-ACK(开放)或 RST(关闭),随后发送 RST,从而不完成握手。

这种“半开放”扫描速度快且相对隐蔽,因为从未建立完整连接。它需要原始套接字权限。

sudo nmap -sS 192.168.1.10

连接扫描

连接扫描(-sT)通过 OS 网络 API 完成完整的三次握手。它不需要特殊权限,因此是无特权用户的备用方式。

由于会完成完整连接,这种扫描声量更大,也更容易被目标上的服务记录。

nmap -sT 192.168.1.10

UDP 扫描

UDP 扫描(-sU)用于发现 DNS、SNMP 和 DHCP 等使用 UDP 的服务。UDP 是无连接协议,因此扫描速度慢且较为棘手:

  • 没有响应通常意味着开放|被过滤。
  • 收到 ICMP 端口不可达消息意味着端口关闭。

UDP 服务经常被忽略,因此可能隐藏有价值的发现结果。

sudo nmap -sU --top-ports 50 192.168.1.10

隐蔽扫描

一些扫描会发送不寻常的标志组合,以绕过简单的防火墙并避免 SYN 记录:

  • FIN(-sF):仅设置 FIN 标志。
  • NULL(-sN):不设置任何标志。
  • Xmas(-sX):设置 FIN、PSH 和 URG,像“圣诞树一样点亮”。

这些扫描依赖 RFC 行为,通常只在某些协议栈上有效。

sudo nmap -sX 192.168.1.10

选择端口

控制要扫描的端口,在速度和覆盖范围之间取得平衡:

  • -p 80,443 指定端口。
  • -p 1-1000 指定范围。
  • -p- 扫描全部 65535 个端口。
  • --top-ports 100 扫描最常见的端口。
  • -F 快速扫描排名前 100 的端口。
nmap -p- 192.168.1.10
nmap --top-ports 100 192.168.1.10

速度模板

-T 标志将速度设置为 0(偏执)到 5(疯狂):

  • -T0/-T1:速度非常慢,用于躲避 IDS。
  • -T3:均衡的默认设置。
  • -T4:速度更快,常用于可靠的网络。
  • -T5:攻击性强,可能会遗漏结果。

扫描越快,产生的动静越大,结果不准确的风险也越高。

nmap -sS -T4 -p- 192.168.1.10

防火墙规避基础

Nmap 提供了用于测试防火墙和 IDS 韧性的选项:

  • -f 将数据包进行分片。
  • -D 使用诱饵源地址。
  • --source-port 伪造受信任的源端口,例如 53。

只能在获准的测试中使用这些选项,以评估检测能力。

组合成实用扫描

实际扫描通常会组合这些选项。常见的全面 TCP 扫描会选择扫描类型、扫描所有端口、使用更快的速度,并保存结果。

先进行广泛扫描以发现开放端口,然后只对实际开放的端口执行有针对性的后续扫描(版本检测、脚本)。这种两阶段方法比一次完成所有操作更快、更安静。

sudo nmap -sS -p- -T4 -oA tcp_all 192.168.1.10
# Then deep-scan only the open ports found

快速检查

将扫描方式与其行为进行匹配。

回顾

您学习了端口扫描技术:

  • 端口状态包括开放、关闭、被过滤及其有歧义的变体。
  • SYN 扫描(-sS)是隐蔽的默认方式;连接扫描(-sT)不需要权限,但产生的动静更大。
  • UDP(-sU)速度慢,但能发现容易被忽略的服务。
  • FIN/NULL/Xmas扫描可以绕过简单的防火墙。
  • 使用 -p 控制端口,使用 -T 控制速度,并使用 -f/-D 测试规避能力。

下一步:服务和 OS 检测。

免费开始

用 AI 导师学习 Ethical Hacking Academy — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
31
课程
111

常见问题解答

「端口扫描技术」课时是免费的吗?

是的 — 「端口扫描技术」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。

「端口扫描技术」这节课中我会学到什么?

SYN、连接与 UDP 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ethical Hacking Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「端口扫描技术」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?

能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 主机发现
  2. 端口扫描技术
  3. 服务与 OS 检测
  4. Nmap 脚本引擎
← 返回 Ethical Hacking Academy