TCP/UDP 常用端口号速查表
50 余个常用端口的中文用途与所属协议。支持按端口号或关键字筛选,比如输入 3306、数据库、远程。
端口号是怎么划分的
端口号是 16 位整数,范围 0–65535。IANA 把它分成三段:
| 范围 | 名称 | 说明 |
|---|---|---|
| 0 – 1023 | 系统端口(知名端口) | 由 IANA 分配,绑定需要管理员权限。HTTP 的 80、HTTPS 的 443、SSH 的 22 都在这一段。 |
| 1024 – 49151 | 注册端口 | 普通用户程序可用,但通常仍按约定使用。MySQL 的 3306、Redis 的 6379 属于这一段。 |
| 49152 – 65535 | 动态端口(临时端口) | 客户端发起连接时由系统临时分配,用完释放。 |
常用端口表
| 端口 | 协议 | 服务 | 说明 |
|---|---|---|---|
| 20 | TCP | FTP-DATA | FTP 主动模式的数据连接端口。 |
| 21 | TCP | FTP | FTP 控制连接,负责登录和命令。 |
| 22 | TCP | SSH / SFTP | 远程登录与文件传输,也常用于 Git over SSH。 |
| 23 | TCP | Telnet | 明文远程登录,已不安全,建议改用 SSH。 |
| 25 | TCP | SMTP | 邮件发送。多数云厂商默认封禁,需申请解封。 |
| 53 | TCP/UDP | DNS | 域名解析。查询一般走 UDP,区域传送和大响应走 TCP。 |
| 67 / 68 | UDP | DHCP | 67 是服务器端,68 是客户端。 |
| 69 | UDP | TFTP | 简易文件传输,路由器刷机常用。 |
| 80 | TCP | HTTP | 明文网页。现在一般用它做 301 跳转到 HTTPS。 |
| 110 | TCP | POP3 | 邮件接收,拉取后通常从服务器删除。 |
| 123 | UDP | NTP | 时间同步。服务器时间漂移会引发证书和鉴权问题。 |
| 135 / 139 / 445 | TCP | SMB / RPC | Windows 文件共享。445 是永恒之蓝的入口,公网必须封。 |
| 137 – 138 | UDP | NetBIOS | Windows 名称服务与数据报服务。 |
| 143 | TCP | IMAP | 邮件接收,邮件保留在服务器,多设备同步。 |
| 161 / 162 | UDP | SNMP | 161 查询设备状态,162 接收告警 Trap。 |
| 389 | TCP | LDAP | 目录服务,AD 域控常用。 |
| 443 | TCP | HTTPS | 加密网页。HTTP/3 走 UDP 443(QUIC)。 |
| 465 / 587 | TCP | SMTPS / 提交 | 加密发信端口,587 带 STARTTLS。 |
| 514 | UDP | Syslog | 系统日志远程收集。 |
| 636 | TCP | LDAPS | 加密的 LDAP。 |
| 873 | TCP | rsync | 增量同步文件,备份常用。 |
| 993 / 995 | TCP | IMAPS / POP3S | 加密的邮件接收端口。 |
| 1080 | TCP | SOCKS | 代理协议,常用于科学上网。 |
| 1433 | TCP | SQL Server | 微软数据库默认端口。 |
| 1521 | TCP | Oracle | Oracle 数据库监听端口。 |
| 2049 | TCP/UDP | NFS | 网络文件系统。 |
| 2375 / 2376 | TCP | Docker API | 2375 未加密,2376 带 TLS。公网暴露等于交出服务器。 |
| 3306 | TCP | MySQL / MariaDB | 最常见被爆破的数据库端口,只允许内网访问。 |
| 3389 | TCP | RDP | Windows 远程桌面,公网暴露风险极高。 |
| 5432 | TCP | PostgreSQL | PostgreSQL 默认端口。 |
| 5672 | TCP | RabbitMQ | 消息队列 AMQP 协议端口。 |
| 5900 | TCP | VNC | 图形远程桌面,加密弱。 |
| 6379 | TCP | Redis | 默认无密码,暴露公网会被直接勒索,务必绑定内网。 |
| 6443 | TCP | Kubernetes API | k8s 控制面端口。 |
| 8080 | TCP | HTTP 备用 | Tomcat、代理、开发服务器的默认端口。 |
| 8443 | TCP | HTTPS 备用 | Tomcat 的 HTTPS 端口。 |
| 8888 | TCP | 宝塔面板 | 宝塔默认端口,装完建议改成随机端口。 |
| 9000 | TCP | PHP-FPM | 也常用于 Portainer、MinIO。 |
| 9200 / 9300 | TCP | Elasticsearch | 9200 是 REST 接口,9300 是节点间通信。 |
| 11211 | TCP/UDP | Memcached | 内存缓存,暴露公网会被用作放大器。 |
| 27017 | TCP | MongoDB | 早期版本默认无鉴权,曾被大规模勒索。 |
TCP 和 UDP 端口有什么区别
端口号本身只是一段数字,它挂在哪个协议上决定了行为:
- TCP 端口:面向连接,有握手、有重传、保证顺序。网页、数据库、SSH、远程桌面都用它。
- UDP 端口:无连接,发出去就不管了,快但不保证到达。DNS 查询、NTP、视频流、游戏、QUIC 用它。
所以同一个端口号在 TCP 和 UDP 上是两回事,可以同时被不同程序占用。比如 53 端口,DNS 服务器会同时监听 TCP 和 UDP。
端口不通怎么排查
顺序很重要,从下往上查:
- 进程在不在:
ss -lntp看有没有程序在监听这个端口。没有就是服务没起来。 - 防火墙放没放行:云服务器要同时看系统防火墙(ufw、firewalld)和云厂商的安全组 —— 很多人只改了前者,忘了后者。
- 能不能连通:
telnet 目标IP 端口或curl -v。能连上说明网络通,问题在应用层。 - 是不是被占用:
ss -lntp | grep 端口看是不是别的程序占着。
常见误区:服务只监听了 127.0.0.1,外部当然连不上。改配置里的 bind 或 listen 为 0.0.0.0 才能对外提供服务。