写在前面:合法学习边界
本文整理常见端口与默认服务,用于学习服务识别、端口扫描和攻击面分析。请不要把扫描命令直接用于未经授权的互联网目标、企业内网或其他人服务器。任何端口扫描、服务探测、漏洞验证和渗透测试都应在自己设备、自建靶场、明确授权的测试环境或已获书面授权的目标范围内进行。
一、为什么安全学习要背端口
端口不决定协议内容,但它通常是安全人员观察服务的第一层线索。一个服务开放在哪个端口,会影响我们判断:这台主机可能是 Web 服务器、数据库服务器、缓存服务、远程管理服务,还是普通应用服务器。
端口分析的价值不只是“记住数字”。更重要的是理解:
| |
二、端口范围与常见分类
TCP 和 UDP 端口都是 0 到 65535。通常可以分为三类:
| |
安全排查时,不要机械地认为“小端口才是服务”。很多业务会把 Web 服务放在 8080、8081、8088、8443、9000 这类高位端口上。
三、常见端口速查表
| 端口 | 协议 | 常见服务 | 安全关注点 |
|---|---|---|---|
| 20/21 | FTP | 文件传输 | 弱口令、匿名登录、明文传输 |
| 22 | SSH | Linux 远程登录 | 弱口令、密钥泄露、爆破 |
| 25 | SMTP | 发送邮件 | 邮件外发、钓鱼、邮件网关漏洞 |
| 53 | DNS | 域名解析 | 递归查询滥用、DNS 隧道、缓存投毒 |
| 67/68 | DHCP | 动态分配 IP | ARP/DHCP 欺骗、内网配置异常 |
| 80 | HTTP | Web | XSS、SQL 注入、敏感路径、明文传输 |
| 110 | POP3 | 收邮件 | 弱口令、明文密码 |
| 143 | IMAP | 收邮件 | 弱口令、邮件读取风险 |
| 443 | HTTPS | 加密 Web | TLS 配置、证书、API 鉴权 |
| 445 | SMB | Windows 文件共享 | SMB 漏洞、横向移动 |
| 993 | IMAPS | 加密 IMAP | TLS 配置、邮箱安全 |
| 3306 | MySQL | MySQL 数据库 | 公网暴露、弱口令、SQL 注入 |
| 3389 | RDP | Windows 远程桌面 | 弱口令、爆破、NLA 配置 |
| 5432 | PostgreSQL | PostgreSQL 数据库 | 公网暴露、SQL 注入、权限控制 |
| 6379 | Redis | 缓存 | 未授权访问、弱密码、命令注入 |
| 8080 | HTTP/应用 | Web 应用、反向代理、中间件 | 默认后台、管理接口 |
| 9200 | HTTP | Elasticsearch | 未授权访问、敏感索引、暴力枚举 |
| 9300 | HTTP | Elasticsearch Transport | 老版本风险、权限配置 |
| 50070/50071 | HTTP/HDFS | Hadoop 管理接口 | 内部组件暴露、YARN/HDFS 风险 |
四、如何判断一个端口是否值得深入
拿到端口扫描结果后,不能看到端口就下结论。建议按下面顺序判断:
| |
例如,扫描发现 6379/tcp open,不要直接说“Redis 被黑了”。更准确的表达是:
| |
五、常用端口扫描命令
以下命令仅适合在授权目标或本机环境中使用。
1. 扫描指定端口
| |
适合快速检查常见 Web、SSH、数据库和缓存服务。
2. 扫描全部 TCP 端口
| |
全端口扫描耗时更长,也更容易触发告警。必须先确认授权范围、时间和目标边界。
3. 识别服务版本
| |
服务版本和 OS 检测对报告价值较高,但对目标影响也更大,因此必须在授权环境中谨慎执行。
4. 扫描 UDP 常见端口
| |
UDP 扫描通常更慢,因为需要依赖响应和超时判断。DNS、SNMP、NTP、Syslog 等 UDP 服务是安全排查重点。
5. 本机查看监听端口
| |
这是排查本机服务暴露的常用命令。-t 显示 TCP,-u 显示 UDP,-l 只显示监听状态,-n 显示数字端口,-p 显示进程。
6. 用 curl 快速验证 Web 服务
| |
访问路径应限于自己环境或授权目标。不要在生产系统上扫描敏感路径。
六、重点服务的安全思考
1. SSH:22
SSH 是 Linux 系统常见远程管理入口。安全风险主要来自弱口令、无限制登录来源、未启用密钥、日志缺失和过度开放的防火墙。
防御建议:
| |
2. HTTP/HTTPS:80/443
Web 端口是攻击面最大的入口之一。常见风险包括 SQL 注入、XSS、SSRF、文件上传、未授权访问、后台路径暴露和 API 越权。
防御建议:
| |
3. MySQL:3306
数据库端口不应默认暴露在公网。公网暴露的 3306 端口需要重点确认是否真的需要外部访问。
常见风险:
| |
防御建议:
| |
4. Redis:6379
Redis 经常被误配置为公网可访问。未授权 Redis 可能导致敏感信息读取、配置篡改,甚至被攻击者写入计划任务或 SSH 密钥,从而获得服务器控制权。
防御建议:
| |
5. RDP:3389
RDP 是 Windows 远程管理端口,公网暴露时常见爆破和勒索攻击风险。
防御建议:
| |
6. Elasticsearch:9200
Elasticsearch 常见未授权访问、敏感索引泄露和集群配置风险。9200 端口如果开放,需要确认是否有鉴权、是否需要公网访问、是否存在敏感索引。
防御建议:
| |
七、从端口结果到安全报告
扫描端口只是起点,真正有价值的报告需要给出判断依据。
示例报告写法:
| |
不要只写:
| |
这种描述缺少证据、影响和建议,不能指导修复。
八、小结
常见端口表是安全学习的地图,不是攻击清单。每个端口都要结合业务场景、授权边界、服务版本和访问控制来判断。后续学习 SQL 注入、XSS、Burp Suite、WAF 和日志分析时,你会不断回到这张端口地图:先找到入口,再分析协议,最后验证影响。