网络安全技术与实训-第2章-第3节-必背端口与端口扫描原理
第2章 网络攻击与防范
如果只能记住一个网络安全的基础概念,那应该是端口。原因很简单:攻击者眼中,一台服务器不是一个整体,而是一排排开放的门;每一扇门后面,都可能站着一个有漏洞的服务。
一、端口是什么:大楼的房间号
一台服务器只有一个 IP 地址,但它同时提供很多种服务——网站、数据库、远程管理、文件传输。这些服务靠什么区分?靠端口号。
最贴切的类比是房间号:IP 地址是大楼的地址,端口号是房间号。你寄快递写“某某大楼 3306 室”,快递员就知道该敲哪扇门。端口范围 0–65535,其中 0–1023 是公认端口(系统级服务专用),1024–49151 是注册端口,再往上是动态端口。
二、这张表建议背下来
下面这些端口是考试和实战中出现频率最高的。背它的意义不只是应付考题——守好自己系统上这些端口,就是把最常见的入侵入口堵上了。
| 端口 | 服务 | 用途与风险提示 |
|---|---|---|
| 21 | FTP | 文件传输,明文口令,建议换成 SFTP |
| 22 | SSH | Linux 远程管理,爆破高发区,建议改端口 + 密钥登录 |
| 23 | Telnet | 明文远程登录,已不应在生产环境使用 |
| 25 | SMTP | 邮件发送,配置不当会成垃圾邮件中转站 |
| 53 | DNS | 域名解析,也是 DDoS 反射放大的常见工具 |
| 80 | HTTP | 明文 Web 服务,传输内容可被抓包看到 |
| 110 / 143 | POP3 / IMAP | 邮件接收协议 |
| 443 | HTTPS | 加密 Web 服务,现代网站的标配 |
| 445 | SMB | Windows 文件共享,历史漏洞重灾区(如永恒之蓝) |
| 1433 / 1521 | SQL Server / Oracle | 数据库端口,绝不应直接暴露在公网 |
| 3306 | MySQL | 数据库端口,应只允许本机或内网访问 |
| 3389 | RDP | Windows 远程桌面,暴力破解高发端口 |
| 6379 / 27017 | Redis / MongoDB | 早期默认无认证,被大量当作“公开数据库”拖库 |
三、端口扫描:挨个敲门看谁开着
端口扫描的原理朴素得惊人:向目标的一批端口逐个发起连接请求,根据回包判断端口是开着、关着还是被过滤了。 三种结果对应三种反应:
- 目标回一个“连接建立成功”(SYN+ACK) → 端口开放。
- 目标回一个“拒绝连接”(RST) → 端口关闭。
- 目标毫无回应 → 端口被防火墙过滤了。
扫描方式上,最基础的是全连接扫描(完整走完 TCP 三次握手,容易被记录);更进一步的是半开扫描(SYN 扫描),只发第一个握手包,收到回应就立刻断开,速度更快、留下的痕迹更少,抓包时能看到“握一半就跑”的特征——这正是后面讲 SYN Flood 时会再次遇到的现象。
扫描完成后的关键一步是服务识别:光知道 80 端口开着意义不大,要知道它跑的是哪个版本、有什么已知漏洞。这就是漏洞扫描器的工作。
四、防守方该做的三件事
- 最小化开放:不需要的服务一律关闭。数据库端口(3306/1433/6379)不要对公网开放,只允许本机或内网访问。
- 限制来源:用防火墙只放行必要的来源 IP,而不是“全网可访问”。
- 替换与加固:把明文协议换成加密版本(FTP→SFTP、Telnet→SSH、HTTP→HTTPS);对必须对外的高危端口(如 22、3389)改端口、上密钥、加登录失败封禁。
五、配套实训
本章对应 实训 1 · DVWA 搭建与主机扫描(Nmap)。实训中你会用 Nmap 对实验靶机做端口扫描与服务版本探测,亲手看到“哪些门开着、门后是什么服务”。请重点体会两件事:一是扫描结果如何直接决定了下一步能做什么;二是如果在真实系统中,通过关闭多余端口能把多少条路直接堵死。
⚠️ 扫描行为会在目标日志中留下大量记录,且对未授权目标进行扫描属于违法行为。实训只允许在教师提供的隔离环境中、对本组靶机执行。

