什么是端口?
端口是网络通信中的逻辑编号(0–65535),用于区分同一台服务器上运行的不同服务。IP 地址指定了目标机器,端口指定了机器上的具体服务。就像大楼的地址加上房间号,IP 是地址,端口是房间。
- 知名端口(0–1023):由 IANA 分配给标准协议,如 HTTP(80)、HTTPS(443)、SSH(22)
- 注册端口(1024–49151):用于常见应用程序,如 MySQL(3306)、Redis(6379)、PostgreSQL(5432)
- 动态端口(49152–65535):操作系统临时分配给客户端连接
常见端口号速查表
| 端口 | 协议 | 服务 |
|---|---|---|
| 21 | TCP | FTP(文件传输) |
| 22 | TCP | SSH(安全远程登录) |
| 25 | TCP | SMTP(邮件发送) |
| 53 | TCP/UDP | DNS(域名解析) |
| 80 | TCP | HTTP(网页) |
| 110 | TCP | POP3(邮件接收) |
| 143 | TCP | IMAP(邮件接收) |
| 443 | TCP | HTTPS(加密网页) |
| 3306 | TCP | MySQL 数据库 |
| 5432 | TCP | PostgreSQL 数据库 |
| 6379 | TCP | Redis 缓存 |
| 8080 | TCP | HTTP 备用端口(开发环境) |
端口扫描的用途
- 服务器运维:确认特定服务是否正常监听,排查服务启动问题
- 防火墙调试:验证防火墙规则是否正确放行或封禁了指定端口
- 安全审计:检查服务器暴露了哪些端口,关闭不必要的开放端口
- API 连通性测试:确认数据库端口或 API 端口对外是否可达
如何在线检测端口
使用 tool.tl 的端口扫描工具:
- 访问 tool.tl/portscan
- 输入目标域名或 IP 地址
- 选择要检测的端口或输入自定义端口号
- 显示每个端口的状态:开放(Open)、关闭(Closed)或被过滤(Filtered)
端口状态的含义
- Open(开放):端口可达且有服务正在监听,连接成功
- Closed(关闭):端口可达但没有服务监听,服务可能未启动
- Filtered(过滤):防火墙丢弃了探测包,无法判断端口状态(也是最常见的安全配置)
结合其他网络工具排查问题
- 用 Ping 检测主机是否可达(ICMP)
- 用 Traceroute 查看数据包经过哪些路由节点
- 用 DNS 查询 确认域名解析是否正确
- 用 WHOIS 查询域名/IP 归属信息
常见问题
端口扫描是合法的吗?
扫描你自己的服务器完全合法,是日常运维的标准操作。扫描他人服务器在未授权的情况下可能违反相关法律(如《计算机欺诈和滥用法案》)。在线工具从外部扫描服务器的公开端口,相当于公开的网络探测,但大规模或高频扫描他人服务器依然存在法律风险。