如何检查端口是否开放(从你的网络外部) | Check Host

了解如何测试 22、443、3389 或 25565 等 TCP 端口是否开放并可从互联网访问,以及端口不通时常见原因的解决方法。

你启动了服务器,在防火墙里放行了端口,在路由器上做了端口转发——结果谁都连不上。在自己电脑上测试端口没有用:这会绕过路由器、运营商以及中间所有的防火墙。要知道端口是否真的开放,必须从外部测试。

"开放"到底意味着什么

TCP 端口开放,是指有程序在该端口上监听,并且来自互联网的连接能够完成 TCP 握手。以下三点必须同时满足:

  1. 有程序在该端口上监听,并绑定在正确的网卡上(而不仅仅是 127.0.0.1)。
  2. 主机防火墙允许该端口的入站连接。
  3. 主机前面的每个网络设备——路由器、NAT、云安全组——都转发或放行了流量。

同时从多个国家测试

端口检测会从全球各地的服务器尝试与你的主机和端口完成 TCP 握手,并报告每个地点的连接时间。输入主机名或 IP 以及端口,例如 example.com 和 443。

常用端口

端口服务
22SSH
25 / 587SMTP(邮件)
80 / 443HTTP / HTTPS
3306 / 5432MySQL / PostgreSQL
3389Windows 远程桌面
25565Minecraft Java 服务器

端口显示关闭的原因

只能测试 TCP

TCP 检测无法判断 UDP 端口(53 端口的 DNS、WireGuard、许多游戏服务器)是否开放:UDP 没有握手过程,不响应的端口和被过滤的端口看起来完全一样。请使用对应协议的客户端测试 UDP 服务。