2.8.1 常见服务端口速查与用途分类
常见服务端口速查与用途分类用于帮助运维快速识别端口用途、定位服务与制定开放策略。以下按用途分类并给出典型端口与说明,便于在巡检、排障和安全审计中快速匹配。
一、系统与远程管理#
- 22/TCP:SSH,远程登录与安全运维通道
- 23/TCP:Telnet,明文远程登录(不建议使用)
- 3389/TCP:RDP,Windows远程桌面
- 5900/TCP:VNC,图形远程控制
- 111/TCP/UDP:RPCbind/Portmapper,NFS/远程RPC服务发现
二、Web 与应用服务#
- 80/TCP:HTTP,Web应用访问
- 443/TCP:HTTPS,TLS加密Web访问
- 8080/TCP:常用应用容器端口(Tomcat/自建服务)
- 8443/TCP:HTTPS替代端口(应用容器/管理端口)
- 7001/TCP:WebLogic默认管理/应用端口(可变)
三、数据库与缓存#
- 3306/TCP:MySQL
- 5432/TCP:PostgreSQL
- 27017/TCP:MongoDB
- 6379/TCP:Redis
- 11211/TCP:Memcached
- 1521/TCP:Oracle
- 1433/TCP:MS SQL Server
四、消息队列与中间件#
- 5672/TCP:RabbitMQ AMQP
- 61616/TCP:ActiveMQ OpenWire
- 9092/TCP:Kafka Broker
- 2181/TCP:ZooKeeper
- 8848/TCP:Nacos(控制台/API)
- 8500/TCP:Consul(HTTP API)
五、负载均衡与代理#
- 80/443/TCP:Nginx/HAProxy对外服务端口
- 8404/TCP:HAProxy Stats
- 6032/TCP:ProxySQL 管理端口
- 6033/TCP:ProxySQL 代理端口
六、文件与存储服务#
- 20/21/TCP:FTP 数据/控制
- 22/TCP:SFTP(基于SSH)
- 69/UDP:TFTP
- 137/138/139/TCP/UDP:NetBIOS/SMB旧协议
- 445/TCP:SMB/CIFS
- 2049/TCP/UDP:NFS
- 873/TCP:rsync
七、邮件与目录服务#
- 25/TCP:SMTP
- 465/TCP:SMTPS
- 587/TCP:SMTP Submission
- 110/TCP:POP3
- 995/TCP:POP3S
- 143/TCP:IMAP
- 993/TCP:IMAPS
- 389/TCP/UDP:LDAP
- 636/TCP:LDAPS
八、时间与日志#
- 123/UDP:NTP
- 514/UDP:Syslog
- 6514/TCP:Syslog over TLS
九、容器与编排#
- 2375/TCP:Docker API(明文,不建议暴露)
- 2376/TCP:Docker API(TLS)
- 6443/TCP:Kubernetes API Server
- 10250/TCP:Kubelet
- 30000-32767/TCP:Kubernetes NodePort
十、监控与可视化#
- 9090/TCP:Prometheus
- 9093/TCP:Alertmanager
- 9100/TCP:Node Exporter
- 3000/TCP:Grafana
十一、CI/CD 与代码管理#
- 8080/TCP:Jenkins
- 9418/TCP:Git(原生协议)
- 22/TCP:Git over SSH
- 443/TCP:Git over HTTPS
安装与工具准备(用于端口识别)#
# RHEL/CentOS 安装常用端口排查工具
sudo yum -y install net-tools lsof
# Ubuntu/Debian 安装
sudo apt-get update
sudo apt-get -y install net-tools lsof
示例:从端口反查服务与进程#
# 查看 3306 端口监听进程与用户
sudo ss -lntp | grep ':3306'
# 预期:显示 mysqld 进程与监听地址 0.0.0.0:3306 或 127.0.0.1:3306
# 反查 9092 端口对应进程
sudo lsof -iTCP:9092 -sTCP:LISTEN
# 预期:显示 java/kafka 进程与PID
示例:建立端口速查表与自动校验#
# /opt/ops/port-map.txt
22 SSH
80 HTTP
443 HTTPS
3306 MySQL
6379 Redis
9092 Kafka
# 校验当前主机是否开放了速查表以外的端口
while read -r port name; do
ss -lntp | grep -q ":$port " && echo "[OK] $port $name"
done < /opt/ops/port-map.txt
echo "---- unexpected ports ----"
ss -lntp | awk 'NR>1{print $4}' | sed 's/.*://g' | sort -n | uniq | while read -r p; do
grep -q "^$p " /opt/ops/port-map.txt || echo "[WARN] $p not in allowlist"
done
排错示例:端口开放但服务不可用#
# 1) 确认进程监听地址
sudo ss -lntp | grep ':8080'
# 若监听在 127.0.0.1:8080,外部不可访问
# 2) 检查防火墙放行
sudo firewall-cmd --list-ports | grep 8080 || echo "8080 not allowed"
# 3) 从本机验证服务
curl -I http://127.0.0.1:8080 || echo "local check failed"
使用建议与分类总结#
- 生产环境优先使用加密端口(HTTPS/SMTPS/LDAPS/SFTP)。
- 端口识别需结合进程与监听地址,避免仅凭端口判断服务。
- 内网管理端口与外网服务端口应分离,减少暴露面。
- 常用端口可建立内部速查表并与资产清单联动,便于审计与应急响应。
练习#
- 在测试机上启动一个 8080 端口的临时服务,确认 ss 与 lsof 的输出是否一致。
- 将本节速查表裁剪为你所在环境允许开放的端口,生成 allowlist 并运行校验脚本。
- 模拟将服务绑定到 127.0.0.1,观察外部访问失败的现象并记录排错步骤。