网络端口号是 TCP/IP 协议中用于区分一台主机上不同应用程序或服务的逻辑标识符。它们运行在 IP 地址之上。端口号分为三类:
1. "熟知端口 (Well-Known Ports):" 端口号范围是 "0 到 1023"。这些端口通常被分配给重要的、标准化的网络服务,并且是预先定义好的。例如,HTTP 使用 80,HTTPS 使用 443,FTP 使用 21 等。
2. "注册端口 (Registered Ports):" 端口号范围是 "1024 到 49151"。这些端口可以被任何用户或应用程序注册使用,通常用于特定公司或组织的内部服务,或者一些不太核心的通用服务。
3. "动态/私有端口 (Dynamic/Private Ports):" 端口号范围是 "49152 到 65535"。这些端口通常由客户端应用程序在建立连接时动态选择使用,用于与服务器端在熟知端口或注册端口上建立的连接进行通信。它们也被称为“私有端口”。
以下是一些常见和部分冷门但值得关注(或至少应该了解)的网络端口号列表,分为几类:
---
### 一、 常见熟知端口 (0-1023)
这些是网络中最基础和最核心的服务端口,几乎所有的设备和服务都应该能识别它们。
| 端口号 | 服务名 | 描述 |
|
相关内容:
端口号(Port Number)是TCP/IP协议栈中用于标识网络通信端点的数字,范围从0到65535。它们好比大楼里的房间号,IP地址定位了“大楼”(设备),而端口号则指向具体的“房间”(应用程序或服务)。端口号分为三类:
- 熟知端口(Well-Known Ports,0-1023):由IANA(互联网号码分配机构)分配给标准化服务,如HTTP的80、FTP的21。这些端口通常需要管理员权限。
- 注册端口(Registered Ports,1024-49151):供用户应用程序或非标准服务使用,如某些数据库或游戏服务器。
- 动态/私有端口(Dynamic/Private Ports,49152-65535):临时分配给客户端应用程序,通常用于短暂通信。

端口号与协议(如TCP、UDP)结合,形成了网络通信的“身份证”。
1.常见端口号
1. HTTP与HTTPS:80与443
- 用途:80端口用于HTTP(超文本传输协议),是网页浏览的核心;443端口用于HTTPS,增加了SSL/TLS加密,保障数据安全。
- 背景:80端口的选用源于早期互联网的简洁设计,HTTP作为基础协议无需复杂配置。443的出现则是对安全需求的回应,尤其在电商与隐私保护兴起后。
- 安全提示:80端口易被攻击者嗅探,建议优先使用443。定期更新SSL/TLS证书,防范中间人攻击。
2. FTP:20与21
- 用途:FTP(文件传输协议)使用21端口进行控制连接(如登录、命令),20端口用于数据传输。
- 背景:FTP诞生于1971年,是互联网早期文件共享的基石。但其明文传输特性在现代显得过时。
- 安全提示:避免使用匿名FTP,优先选择SFTP(22端口)或FTPS(加密FTP)。
3. SSH:22
- 用途:SSH(安全外壳协议)用于远程登录和加密通信,常用于服务器管理。
- 背景:SSH由芬兰程序员Tatu Ylönen于1995年开发,取代了不安全的Telnet(23端口)。
- 安全提示:禁用root登录,启用密钥认证,防范暴力破解。
4. SMTP、POP3、IMAP:25、110、143
- 用途:25端口用于SMTP(发送邮件),110用于POP3(接收邮件),143用于IMAP(同步邮件)。
- 背景:电子邮件是互联网的“元老级”应用,这些端口承载了全球通信的命脉。
- 安全提示:启用TLS加密(如587端口用于加密SMTP),防范邮件窃听。
5. DNS:53
- 用途:DNS(域名系统)将域名解析为IP地址,53端口同时支持TCP和UDP。
- 背景:DNS是互联网的“电话簿”,由Paul Mockapetris于1983年设计。
- 安全提示:防范DNS欺骗,使用DNSSEC或DoH(加密DNS)。
6. RDP:3389
- 用途:RDP(远程桌面协议)用于Windows远程桌面连接。
- 背景:微软开发的RDP广泛应用于企业远程办公,但默认端口易被扫描。
- 安全提示:更改默认端口,使用强密码,启用网络级认证(NLA)。
7. MySQL与PostgreSQL:3306、5432
- 用途:3306为MySQL数据库默认端口,5432为PostgreSQL。
- 背景:数据库是企业应用的命脉,这些端口常被开发者和黑客“惦记”。
- 安全提示:限制IP访问,禁用远程root登录,使用加密连接。
2.三、冷门但重要的端口号
除了上述常见端口,一些“低调”的端口在特定场景下至关重要,以下是几个代表:
1. SNMP:161、162
- 用途:SNMP(简单网络管理协议)用于设备监控,161端口处理请求,162用于陷阱(Trap)消息。
- 场景:常用于路由器、交换机等网络设备的性能监控。
- 安全提示:禁用默认社区字符串(如“public”),限制访问来源。
2. NetBIOS:137-139
- 用途:NetBIOS用于局域网内的文件共享和打印机服务,常见于早期Windows网络。
- 背景:这些端口在Windows XP时代广泛使用,但如今因安全漏洞逐渐被弃用。
- 安全提示:除非必要,禁用这些端口,改用SMB(445端口)。
3. LDAP:389、636
- 用途:LDAP(轻量目录访问协议)用于目录服务,389为明文,636为加密(LDAPS)。
- 场景:企业中用于用户认证和权限管理,如Active Directory。
- 安全提示:优先使用LDAPS,防范凭据泄露。
4. VNC:5900
- 用途:VNC(虚拟网络计算)用于远程桌面,5900为默认端口(后续实例依次递增,如5901)。
- 背景:VNC是跨平台的远程控制解决方案,但默认配置安全性较弱。
- 安全提示:通过SSH隧道访问,或使用强密码和加密。
3.端口号背后的故事
端口号的分配并非随意,而是互联网发展史的缩影。例如,80端口的选用是因为早期协议追求简单,而1024以下的端口被设为“特权端口”,反映了Unix系统的权限模型。随着互联网规模扩大,IANA不断调整端口分配,试图平衡标准化与灵活性。
黑客常通过端口扫描(如使用Nmap)探测开放端口,寻找漏洞。常见攻击包括:
- SQL注入:针对数据库端口(如3306)。
- RDP暴力破解:针对3389端口。
- DDoS攻击:利用DNS(53)或NTP(123)放大流量。
防御措施:
- 使用防火墙(如iptables、Windows Defender)限制端口访问。
- 定期更新软件,修补已知漏洞。
- 部署入侵检测系统(IDS),监控异常流量。
动态端口(49152-65535)看似不起眼,却在P2P下载、VoIP通话等场景中扮演关键角色。例如,BitTorrent客户端会随机选择动态端口,避免冲突。这种灵活性也带来了管理挑战,需通过UPnP或手动配置确保通信顺畅。
4.端口号管理
1. 企业环境中的端口管理
- 端口清单:维护一份服务与端口的映射表,定期审计。
- 最小化开放:仅开放必要端口,关闭未使用服务(如Telnet的23)。
- 网络分段:通过VLAN隔离敏感服务,降低攻击面。
2. 个人用户的最佳实践
- 检查开放端口:使用命令如netstat -tuln(Linux)或netstat -an(Windows)查看。
- 路由器配置:避免随意开启DMZ,谨慎设置端口转发。
- 安全软件:安装可靠的防火墙和杀毒软件,防范端口滥用。
3. 开发者的端口选择
- 避免冲突:开发新应用时,优先选择注册端口或动态端口。
- 文档化:明确记录服务使用的端口,便于团队协作。
- 自动化工具:使用Docker等容器技术,通过端口映射简化管理。
5.附录:端口号速查表
端口号 | 协议 | 服务/用途 | 备注 |
20/21 | TCP | FTP | 数据/控制 |
22 | TCP | SSH | 远程管理 |
23 | TCP | Telnet | 不安全,建议禁用 |
25 | TCP | SMTP | 邮件发送 |
53 | TCP/UDP | DNS | 域名解析 |
80 | TCP | HTTP | 网页浏览 |
110 | TCP | POP3 | 邮件接收 |
143 | TCP | IMAP | 邮件同步 |
161/162 | UDP | SNMP | 网络监控 |
389 | TCP | LDAP | 目录服务 |
443 | TCP | HTTPS | 安全网页 |
445 | TCP | SMB | 文件共享 |
1433 | TCP | SQL Server | 微软数据库 |
3306 | TCP | MySQL | 数据库 |
3389 | TCP | RDP | 远程桌面 |
5432 | TCP | PostgreSQL | 数据库 |
5900 | TCP | VNC | 远程控制 |