常见端口与默认服务一览

从安全学习角度整理常见端口、默认服务、典型用途和排查命令,帮助初学者理解端口扫描、服务识别和攻击面分析。

写在前面:合法学习边界

本文整理常见端口与默认服务,用于学习服务识别、端口扫描和攻击面分析。请不要把扫描命令直接用于未经授权的互联网目标、企业内网或其他人服务器。任何端口扫描、服务探测、漏洞验证和渗透测试都应在自己设备、自建靶场、明确授权的测试环境或已获书面授权的目标范围内进行。

一、为什么安全学习要背端口

端口不决定协议内容,但它通常是安全人员观察服务的第一层线索。一个服务开放在哪个端口,会影响我们判断:这台主机可能是 Web 服务器、数据库服务器、缓存服务、远程管理服务,还是普通应用服务器。

端口分析的价值不只是“记住数字”。更重要的是理解:

1
2
3
4
这个端口背后通常是什么服务?
服务是否应该暴露在公网?
如果暴露了,攻击者可能尝试什么?
服务版本、认证方式和日志位置在哪里?

二、端口范围与常见分类

TCP 和 UDP 端口都是 0 到 65535。通常可以分为三类:

1
2
3
0-1023:系统端口,传统上保留给 root 或系统服务
1024-49151:注册端口,很多应用和中间件会用到
49152-65535:动态或私有端口,常见于临时连接

安全排查时,不要机械地认为“小端口才是服务”。很多业务会把 Web 服务放在 8080、8081、8088、8443、9000 这类高位端口上。

三、常见端口速查表

端口协议常见服务安全关注点
20/21FTP文件传输弱口令、匿名登录、明文传输
22SSHLinux 远程登录弱口令、密钥泄露、爆破
25SMTP发送邮件邮件外发、钓鱼、邮件网关漏洞
53DNS域名解析递归查询滥用、DNS 隧道、缓存投毒
67/68DHCP动态分配 IPARP/DHCP 欺骗、内网配置异常
80HTTPWebXSS、SQL 注入、敏感路径、明文传输
110POP3收邮件弱口令、明文密码
143IMAP收邮件弱口令、邮件读取风险
443HTTPS加密 WebTLS 配置、证书、API 鉴权
445SMBWindows 文件共享SMB 漏洞、横向移动
993IMAPS加密 IMAPTLS 配置、邮箱安全
3306MySQLMySQL 数据库公网暴露、弱口令、SQL 注入
3389RDPWindows 远程桌面弱口令、爆破、NLA 配置
5432PostgreSQLPostgreSQL 数据库公网暴露、SQL 注入、权限控制
6379Redis缓存未授权访问、弱密码、命令注入
8080HTTP/应用Web 应用、反向代理、中间件默认后台、管理接口
9200HTTPElasticsearch未授权访问、敏感索引、暴力枚举
9300HTTPElasticsearch Transport老版本风险、权限配置
50070/50071HTTP/HDFSHadoop 管理接口内部组件暴露、YARN/HDFS 风险

四、如何判断一个端口是否值得深入

拿到端口扫描结果后,不能看到端口就下结论。建议按下面顺序判断:

1
2
3
4
5
6
7
1. 端口是否开放
2. 服务类型是否明确
3. 服务版本是否暴露
4. 是否需要认证
5. 是否暴露在公网
6. 是否符合业务预期
7. 是否有对应日志和监控

例如,扫描发现 6379/tcp open,不要直接说“Redis 被黑了”。更准确的表达是:

1
6379/tcp 开放,响应疑似 Redis,需要确认是否授权公网访问、是否存在弱口令或未授权配置。

五、常用端口扫描命令

以下命令仅适合在授权目标或本机环境中使用。

1. 扫描指定端口

1
nmap -p 22,80,443,3306,6379 <获得授权的目标IP>

适合快速检查常见 Web、SSH、数据库和缓存服务。

2. 扫描全部 TCP 端口

1
nmap -sS -p- <获得授权的目标IP>

全端口扫描耗时更长,也更容易触发告警。必须先确认授权范围、时间和目标边界。

3. 识别服务版本

1
nmap -sV -O -p 22,80,443,3306,6379 <获得授权的目标IP>

服务版本和 OS 检测对报告价值较高,但对目标影响也更大,因此必须在授权环境中谨慎执行。

4. 扫描 UDP 常见端口

1
nmap -sU -p 53,67,68,123,161,162 <获得授权的目标IP>

UDP 扫描通常更慢,因为需要依赖响应和超时判断。DNS、SNMP、NTP、Syslog 等 UDP 服务是安全排查重点。

5. 本机查看监听端口

1
sudo ss -tulnp

这是排查本机服务暴露的常用命令。-t 显示 TCP,-u 显示 UDP,-l 只显示监听状态,-n 显示数字端口,-p 显示进程。

6. 用 curl 快速验证 Web 服务

1
2
curl -I http://127.0.0.1:8080
curl -I http://127.0.0.1:8080/actuator/health

访问路径应限于自己环境或授权目标。不要在生产系统上扫描敏感路径。

六、重点服务的安全思考

1. SSH:22

SSH 是 Linux 系统常见远程管理入口。安全风险主要来自弱口令、无限制登录来源、未启用密钥、日志缺失和过度开放的防火墙。

防御建议:

1
2
3
4
5
限制源 IP 或 VPN 访问
使用密钥登录
禁用或限制 root 直接登录
启用失败登录告警
保留 auth.log 和 secure.log

2. HTTP/HTTPS:80/443

Web 端口是攻击面最大的入口之一。常见风险包括 SQL 注入、XSS、SSRF、文件上传、未授权访问、后台路径暴露和 API 越权。

防御建议:

1
2
3
4
5
全站强制 HTTPS
隐藏错误堆栈
配置 CORS、CSRF、CSP
最小化后台路径暴露
接入 WAF 和日志审计

3. MySQL:3306

数据库端口不应默认暴露在公网。公网暴露的 3306 端口需要重点确认是否真的需要外部访问。

常见风险:

1
2
3
4
弱口令登录
远程账号权限过大
未加密传输
应用 SQL 注入后进一步读取数据库

防御建议:

1
2
3
4
数据库不要直接公网暴露
应用通过内网访问数据库
数据库账号最小权限
连接使用 SSL

4. Redis:6379

Redis 经常被误配置为公网可访问。未授权 Redis 可能导致敏感信息读取、配置篡改,甚至被攻击者写入计划任务或 SSH 密钥,从而获得服务器控制权。

防御建议:

1
2
3
4
5
绑定内网地址
启用 requirepass
限制 bind 地址
不要使用默认匿名配置
避免通过公网直接访问

5. RDP:3389

RDP 是 Windows 远程管理端口,公网暴露时常见爆破和勒索攻击风险。

防御建议:

1
2
3
4
5
限制来源 IP
启用 NLA
使用强密码或证书登录
设置账户锁定策略
避免默认管理员账号暴露

6. Elasticsearch:9200

Elasticsearch 常见未授权访问、敏感索引泄露和集群配置风险。9200 端口如果开放,需要确认是否有鉴权、是否需要公网访问、是否存在敏感索引。

防御建议:

1
2
3
4
启用 X-Pack 或第三方鉴权
限制监听地址
使用 SSL/TLS
避免默认账号和密码

七、从端口结果到安全报告

扫描端口只是起点,真正有价值的报告需要给出判断依据。

示例报告写法:

1
2
3
4
5
资产:10.0.0.20
开放端口:22/tcp, 80/tcp, 443/tcp, 3306/tcp
发现:3306/tcp 疑似 MySQL 服务暴露。
风险:数据库服务不应直接公网访问;若账号权限较大,可能导致数据泄露或未授权操作。
建议:移除公网暴露,仅允许应用服务器访问;核查数据库账号权限;补充数据库访问日志。

不要只写:

1
发现 MySQL 端口开放,存在风险。

这种描述缺少证据、影响和建议,不能指导修复。

八、小结

常见端口表是安全学习的地图,不是攻击清单。每个端口都要结合业务场景、授权边界、服务版本和访问控制来判断。后续学习 SQL 注入、XSS、Burp Suite、WAF 和日志分析时,你会不断回到这张端口地图:先找到入口,再分析协议,最后验证影响。