开放端口检测(单个 TCP 端口)

检查公网主机上的某个 TCP 端口能否从互联网接受连接:开放、关闭或被过滤。每次只检测一个端口,不做批量扫描。

每次请求只从 AlgoKit 服务器(Cloudflare 网络)检测一个 TCP 端口:建立连接、不发送任何数据,然后立即关闭。不能扫描端口范围、不能测试 UDP,也无法访问私有/本地地址,Cloudflare 自有的 IP 段同样无法测试。请只检测您拥有或获准测试的主机。

什么是 端口检测?

这个端口检测工具会告诉你公网主机或 IP 上的某个 TCP 端口能否接受来自互联网的连接。它刻意不做成扫描器:每次检测只测试一个 host:port 组合,这正好满足确认端口转发、防火墙规则或服务是否在监听的需求。

如何使用 端口检测

  1. 输入你拥有或获准测试的公网主机名或 IP 地址。
  2. 输入端口号,或点击常用端口之一(22、80、443、3306、3389……)。
  3. 点击“检测端口”。
  4. 查看结果:开放(接受 TCP 连接)、关闭或不可达,或 5 秒内无应答;同时显示被测试的 IP 和耗时。最近的检测记录会列在下方。

何时使用 端口检测

适合在路由器上设置端口转发、在云安全组中开放端口,或启动游戏、SSH、数据库或邮件服务器之后,查看它能否从你的网络外部访问。它无法扫描范围、测试 UDP 端口(WireGuard、DNS、使用 UDP 的游戏服务器)、访问私有或本地地址,也不能测试被 Cloudflare 阻止出站连接的 25 端口;位于 Cloudflare 自有 IP 段的目标同样无法测试。请只测试你拥有或获得授权的系统。

端口检测 的工作原理

检测在 AlgoKit 的 Cloudflare Pages Function(/api/port-check)中运行。主机通过 DNS-over-HTTPS 解析,只要有任何地址是私有、环回、链路本地、CGNAT 或保留地址就会被拒绝;随后该函数使用 Cloudflare 的 connect() TCP 套接字 API 连接到已验证的 IP(而不是域名,因此 DNS 无法在中途改变)。如果 TCP 握手完成,端口就被报告为开放,并且立即关闭套接字而不发送任何数据;连接被拒绝或失败则为“关闭或不可达”;5 秒内无应答则报告为超时,通常意味着防火墙在静默丢弃数据包。请求会按客户端 IP 限速。

常见用例

  • 在配置 SSH 密钥之前,确认 VPS 的 22 端口可达。
  • 测试家用路由器为 Minecraft(25565)或 Plex 服务器设置的端口转发。
  • 验证 3306 或 5432 等数据库端口没有暴露到互联网。
  • 检查新添加的云防火墙 443 规则是否真正生效。

安全提示

主机和端口会被发送到 AlgoKit 的服务器,由它向目标发起一次 TCP 连接。请只测试你有权测试的主机。

常见问题

为什么这不是完整的端口扫描器?

扫描他人机器的大量端口属于滥用行为,而且往往违法。测试你选定的单个端口已经满足合理需求:我的服务能被访问吗?

“关闭”和“超时”有什么区别?

关闭表示连接被立即拒绝或失败(没有服务在监听,或网络拒绝了它)。超时表示 5 秒内没有任何应答,通常说明防火墙丢弃了数据包。

可以检测 UDP 端口吗?

不可以。UDP 没有握手,如果不使用该服务的协议通信,就无法可靠地确认 UDP 端口是否开放。

为什么不能测试 192.168.x.x 或我路由器的管理页面?

检测是在互联网上运行的,而不是在你的网络内部,并且为防止滥用,私有地址会被拦截。请改为测试你的公网 IP。

推荐的下一步

探索更多分类