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)。
  • 端口识别需结合进程与监听地址,避免仅凭端口判断服务。
  • 内网管理端口与外网服务端口应分离,减少暴露面。
  • 常用端口可建立内部速查表并与资产清单联动,便于审计与应急响应。

练习#

  1. 在测试机上启动一个 8080 端口的临时服务,确认 ss 与 lsof 的输出是否一致。
  2. 将本节速查表裁剪为你所在环境允许开放的端口,生成 allowlist 并运行校验脚本。
  3. 模拟将服务绑定到 127.0.0.1,观察外部访问失败的现象并记录排错步骤。