网络
端口号一览表
常用TCP/UDP端口号及其用途一览:FTP、SSH、HTTP、HTTPS、MySQL、Redis等。适用于配置防火墙规则、排查"连接被拒绝"问题的开发者参考工具,内置实时搜索过滤。
知名端口 0–1023
注册端口 1024–49151
动态・私有端口 49152–65535
端口号一览表
| 端口号 | 协议 | TCP/UDP | 范围区分 | 用途 |
|---|---|---|---|---|
| 20 | FTP (Data) | TCP | 知名端口 | 用于FTP的数据传输(主动模式)。目前正逐渐被SFTP、FTPS取代。 |
| 21 | FTP (Control) | TCP | 知名端口 | 用于FTP的控制连接,负责传递命令与响应。 |
| 22 | SSH | TCP | 知名端口 | 用于SSH加密远程登录,以及SCP/SFTP文件传输。 |
| 23 | Telnet | TCP | 知名端口 | 用于Telnet明文远程登录。存在被窃听的风险,建议改用SSH。 |
| 25 | SMTP | TCP | 知名端口 | 用于SMTP邮件服务器之间的邮件转发(中继)。 |
| 53 | DNS | TCP/UDP | 知名端口 | 用于DNS域名解析。普通查询使用UDP,区域传输及大型响应使用TCP。 |
| 67 | DHCP (Server) | UDP | 知名端口 | 用于DHCP服务器向客户端分配IP地址。 |
| 68 | DHCP (Client) | UDP | 知名端口 | 用于DHCP客户端请求分配IP地址。 |
| 69 | TFTP | UDP | 知名端口 | 用于TFTP免认证的简易文件传输,主要用于网络设备的固件升级等场景。 |
| 80 | HTTP | TCP | 知名端口 | 用于HTTP未加密网页的传输。 |
| 110 | POP3 | TCP | 知名端口 | 用于邮件客户端通过POP3接收(下载)邮件。 |
| 123 | NTP | UDP | 知名端口 | 用于NTP实现计算机之间的时间同步。 |
| 143 | IMAP | TCP | 知名端口 | 用于IMAP在邮件服务器上管理邮件、实现多设备间的同步。 |
| 161 | SNMP | UDP | 知名端口 | 用于SNMP对网络设备进行监控和状态查询。 |
| 162 | SNMP Trap | UDP | 知名端口 | 用于接收SNMP Trap,即设备主动发送的通知。 |
| 194 | IRC | TCP | 知名端口 | 用于IRC实时聊天。 |
| 389 | LDAP | TCP | 知名端口 | 用于LDAP查询目录服务(用户・组织信息)。 |
| 443 | HTTPS | TCP | 知名端口 | 用于HTTPS(基于TLS加密的HTTP)安全网页传输。 |
| 445 | SMB | TCP | 知名端口 | 用于SMB实现Windows文件共享・打印机共享。 |
| 465 | SMTPS | TCP | 知名端口 | 用于SMTPS(基于TLS的SMTP)加密发送邮件。 |
| 587 | SMTP Submission | TCP | 知名端口 | 邮件客户端向邮件服务器提交(Submission)待发送邮件的标准端口。 |
| 636 | LDAPS | TCP | 知名端口 | 用于LDAPS(基于TLS的LDAP)加密目录服务通信。 |
| 993 | IMAPS | TCP | 知名端口 | 用于IMAPS(基于TLS的IMAP)加密邮件同步。 |
| 995 | POP3S | TCP | 知名端口 | 用于POP3S(基于TLS的POP3)加密接收邮件。 |
| 1433 | MSSQL | TCP | 注册端口 | 用于Microsoft SQL Server数据库连接。 |
| 3306 | MySQL | TCP | 注册端口 | 用于MySQL/MariaDB数据库连接。 |
| 3389 | RDP | TCP | 注册端口 | 用于RDP实现Windows远程桌面连接。 |
| 5432 | PostgreSQL | TCP | 注册端口 | 用于PostgreSQL数据库连接。 |
| 5900 | VNC | TCP | 注册端口 | 用于VNC实现远程桌面画面共享。 |
| 6379 | Redis | TCP | 注册端口 | 用于连接Redis内存数据存储。 |
| 8080 | HTTP (Alt) | TCP | 注册端口 | HTTP的常用替代端口,常用于代理服务器和开发用Web服务器。 |
| 8443 | HTTPS (Alt) | TCP | 注册端口 | HTTPS的常用替代端口,常用于Tomcat等应用服务器。 |
| 9200 | Elasticsearch | TCP | 注册端口 | 用于连接Elasticsearch的REST API。 |
| 27017 | MongoDB | TCP | 注册端口 | 用于MongoDB数据库连接。 |
使用提示
- 配置防火墙规则时,只开放实际需要的端口,其余一律默认拒绝(default deny),这是数十年来未变的安全基本原则。
- 出现"连接被拒绝"错误时,请先用
netstat -an或ss -tlnp确认该端口上的服务是否真的在监听。 - 80、443等"知名端口"(0~1023)在大多数操作系统上需要管理员权限才能绑定,因此非特权应用常改用8080等替代端口。
- 同一服务的明文版本与加密版本往往使用不同端口(例如80/HTTP对443/HTTPS,21/FTP对990/FTPS),使用时请勿混淆。
- 本一览表中的端口号可直接用于AWS、GCP、Azure等云环境的安全组规则配置。
常见问题
IP地址用于确定通信对象所在的"建筑物"(计算机),而端口号则用于确定该建筑物内的"房间号"(应用程序・服务)。同一台服务器上,80号端口可能对应Web服务器,22号端口对应SSH服务器——端口号决定了通信最终交由哪个服务处理。
TCP是注重可靠性的协议,会确认送达并重传丢失的数据,常用于网页浏览、文件传输等场景。UDP是省略确认应答的轻量级协议,适用于DNS查询、在线游戏、视频流媒体等更看重速度的场景。
首先确认该端口上的服务(进程)是否确实已启动并在监听。如果已启动,接下来检查防火墙(
iptables、ufw、云安全组等)是否阻挡了该端口的通信。新建站点原则上应仅使用443端口(HTTPS)运行。保留80端口(HTTP)仅用于跳转至443端口,这是目前公认的最佳实践。
通常会选择1024~49151范围内的"注册端口",尤其是不与其他常见服务冲突的编号(例如8080或3000系列)。应避免使用0~1023的"知名端口",因为它们已被现有标准服务保留。
闲话 ― 端口号为何最高只到65535
端口号之所以限定在0~65535范围内,是因为TCP/UDP报头中端口号字段被定义为16位(2字节)。2的16次方等于65536,除去0号端口,实际可用范围为1~65535。这一设计在20世纪80年代初TCP/IP标准化时就已确定,此后从未更改。
IANA(互联网数字分配机构)将全部端口划分为三个区段管理:0~1023的"知名端口"专门保留给HTTP、SSH等广泛使用的服务;1024~49151的"注册端口"可由企业或项目申请注册;49152~65535的"动态・私有端口"则由客户端自由用作临时的源端口。
即便是80(HTTP)、443(HTTPS)这样广为人知的端口,其用途也并非一开始就确定。443号端口被分配用于HTTPS是在1994年,当时Netscape公司在开发SSL(安全套接层)协议时向IANA提出了申请。
为降低端口扫描攻击的风险,部分生产服务器会将SSH的默认端口(22号)改为其他数字,这种做法有时被称为"端口敲门"。但这属于"隐蔽式安全",无法替代强身份验证、及时更新补丁等根本性的安全措施。