端口检测工具
在线检测指定 IP 或域名的端口是否开放
最多同时检测 20 个端口
输入 IP 地址和端口号,点击「开始检测」
什么是端口检测?
端口检测工具用于检查某个主机上的指定网络端口是否看起来可访问。端口通常对应 HTTP、HTTPS、SSH、SMTP、数据库或自定义应用等服务;如果端口不可达,原因可能是服务未启动、防火墙、NAT、DNS、路由、云安全组,或服务只绑定在 localhost。它适合部署检查、故障排查、监控确认,以及判断服务是否能被外部访问。端口开放不代表应用一定健康或安全,端口关闭也不能单独说明具体原因。真正的安全评估还需要结合协议、认证、配置和暴露面进一步检查。
使用方法
使用步骤
- 在IP/域名字段中输入目标服务器地址
- 输入要检查的端口号,用逗号分隔
- 或使用快速填充按钮选择常见端口预设
- 点击'检查端口'并等待结果
- 查看每个端口的状态、响应时间及错误信息
网络解读
- 关闭或过滤的结果可能由防火墙、NAT、ISP屏蔽、服务绑定或错误的主机地址导致。
- 从与用户相同的网络路径进行检查;内外部端口可见性可能不同。
使用场景
技术原理
端口检测尝试与目标主机的指定端口建立 TCP 连接。成功的 TCP 三次握手(SYN、SYN-ACK、ACK)表示端口开放且有服务在监听。如果连接被拒绝(RST 重置),则端口关闭(无服务)。如果无响应(超时),端口可能被防火墙或 NAT 过滤,或主机不可达。基于浏览器的端口检测存在根本性限制:浏览器无法发送原始 TCP SYN 包,因此需要使用变通方案。常见变通方式:1)向端口发送 HTTP HEAD 或 GET 请求并检查响应码(适用于非常规端口上的 HTTP/HTTPS 代理,如 80、8080 等);2)向端口发起 WebSocket 升级并检查握手结果(适用于大多数服务器,因为 WebSocket 以 HTTP 开始然后升级);3)图片加载请求(浏览器从 http://host:port/ 获取 1x1 图片,连接成功或失败);4)无连接探测(浏览器尝试获取 favicon、robots.txt 或已知路径,从响应推断)。 本页面使用 WebSocket 方式作为主要探测手段:1)构造 ws://host:port/ 或 wss://host:port/,2)调用 new WebSocket(url),3)测量触发 onopen(开放)或 onerror(关闭/被过滤)的时间。1-3 秒的超时可以区分开放(立即响应)、关闭(快速拒绝)和被过滤(超时)三种状态。页面展示所有三种状态及延迟。 端口范围:0-1023 为知名端口(HTTP 80、HTTPS 443、SSH 22、FTP 21、SMTP 25、DNS 53、POP3 110、IMAP 143 等),1024-49151 为注册端口(常被数据库、自定义服务等应用使用),49152-65535 为动态/私有端口(操作系统用于出站连接,通常是源端口)。端口 0 是保留端口(绑定到 0 时由操作系统选择临时端口)。页面允许用户选择单个端口、常用端口列表或自定义范围。 注意事项:浏览器端检测只能看到浏览器能到达的内容。从企业代理或 NAT 后方探测时,目标实际开放的端口也可能返回被过滤状态。本页面不作为安全审计工具;用户应使用 nmap、masscan 或 ZMap 等在具有原始套接字访问权限的主机上运行的工具进行安全测试。
- TCP 三次握手:SYN、SYN-ACK、ACK = 开放;RST = 关闭;超时 = 被过滤或主机不可达;这是标准判读方式。
- 浏览器变通方案:HTTP HEAD/GET 探测(非常规端口)、WebSocket 升级(大多数服务器)、图片加载、favicon/robots.txt;本页面以 WebSocket 为主要方式。
- 端口范围:0-1023 知名端口(HTTP 80、HTTPS 443、SSH 22),1024-49151 注册端口,49152-65535 动态端口;端口 0 为保留端口。
- 超时用于区分状态:立即响应 = 开放,快速拒绝 = 关闭,无响应 = 被过滤;本页面使用 1-3 秒超时。
- 浏览器限制:无法发送原始 SYN 包,因此无法执行完整的 TCP 扫描(SYN 扫描、FIN 扫描、NULL 扫描、XMAS 扫描);本页面仅为近似检测。
- 非安全工具:渗透测试请使用 nmap、masscan 或 ZMap 等在具有原始套接字访问权限的主机上运行的工具;本页面是快速检查,非安全审计。
- 常用端口:HTTP 80、HTTPS 443、SSH 22、FTP 21、SMTP 25、DNS 53、POP3 110、IMAP 143、MySQL 3306、PostgreSQL 5432、Redis 6379、MongoDB 27017。
示例
Web 服务器可达性检测
主机: example.com
端口: 80 (HTTP), 443 (HTTPS)
结果: 两个端口均开放,Web 服务器响应正常
用途: 确认公网站点是否可从 Internet 访问;返回 200/301 说明服务栈健康SSH 连接测试
主机: server.example.com
端口: 22 (SSH)
结果: 开放,SSH 服务正在接受连接
用途: 在使用密钥登录前,先确认堡垒机或跳板机可达;客户端再做凭证校验数据库端口暴露检查
主机: db.example.com
端口: 3306 (MySQL)
结果: 关闭,MySQL 未对外暴露
用途: 良好的安全实践;数据库只应在应用内网可访问,不应暴露到公网常见问题
端口检测是怎么工作的?
浏览器无法对远程主机打开任意 TCP 套接字,因此本工具从我们的后端发起检测。我们尝试 TCP 连接(对于 80/443 等应用端口则使用 HTTP 探测),并报告成功、失败和响应时间。目标看到的是我们的服务器,而不是你的 IP。
open、closed 与 filtered 分别代表什么?
Open:端口接受连接。Closed:主机以 TCP RST 响应(拒绝)。Filtered:无响应(防火墙丢弃了 SYN)。只有 open 表示服务可达。closed 和 filtered 都表示不可达,但原因不同。
可以检测家用路由器的端口吗?
可以——输入你的公网 IP 和端口号。常用于确认游戏服务器、NAS 或自托管服务是否真正暴露到公网。注意,住宅 ISP 经常会无视你防火墙的设置而封锁入站端口(25、80、443)。
支持 UDP 检测吗?
大多数版本只支持 TCP。UDP 是无连接的,无回复并不一定意味着关闭。UDP 服务检测需要应用层探测(如对 53/udp 发 DNS 查询),这正是 nmap 服务检测模式所做的事。
可以检测局域网端口(192.168.x.x)吗?
我们的后端无法访问你的私有局域网。请在内网设备上运行命令行 `nc -zv host port`,或在另一台局域网设备上跑端口扫描器。
对任意主机做端口扫描合法吗?
扫描自己拥有的主机通常合法。扫描非己有主机可能违反计算机滥用法、服务条款和 ISP 政策,具体视司法管辖区而定。请勿用本工具对随意 IP 进行机会性扫描。
为什么 22 / 3389 / 25 端口总是显示关闭?
许多 ISP 和云服务商默认封锁这些攻击重灾区端口。云端安全组(AWS、Azure、GCP)也默认封禁。如果你期望某端口开放,请逐跳检查防火墙、NAT/端口转发以及安全组规则。