了解如何测试 22、443、3389 或 25565 等 TCP 端口是否开放并可从互联网访问,以及端口不通时常见原因的解决方法。
你启动了服务器,在防火墙里放行了端口,在路由器上做了端口转发——结果谁都连不上。在自己电脑上测试端口没有用:这会绕过路由器、运营商以及中间所有的防火墙。要知道端口是否真的开放,必须从外部测试。
TCP 端口开放,是指有程序在该端口上监听,并且来自互联网的连接能够完成 TCP 握手。以下三点必须同时满足:
127.0.0.1)。端口检测会从全球各地的服务器尝试与你的主机和端口完成 TCP 握手,并报告每个地点的连接时间。输入主机名或 IP 以及端口,例如 example.com 和 443。
| 端口 | 服务 |
|---|---|
| 22 | SSH |
| 25 / 587 | SMTP(邮件) |
| 80 / 443 | HTTP / HTTPS |
| 3306 / 5432 | MySQL / PostgreSQL |
| 3389 | Windows 远程桌面 |
| 25565 | Minecraft Java 服务器 |
ss -tlnp(Linux)或 netstat -an(Windows)检查;本地地址应为 0.0.0.0 或 ::,而不是 127.0.0.1。TCP 检测无法判断 UDP 端口(53 端口的 DNS、WireGuard、许多游戏服务器)是否开放:UDP 没有握手过程,不响应的端口和被过滤的端口看起来完全一样。请使用对应协议的客户端测试 UDP 服务。