端口检测
测试您公网IP地址上的某个端口是否接受来自互联网的连接——这是为游戏服务器、摄像头、远程桌面、NAS或种子客户端设置端口映射之后必须做的检查。测试只从我们的服务器连接到您自己的地址,绝不会连接其他任何人的地址。
由我们位于德国法兰克福的服务器(probe-fra1)发起TCP连接 · 超时3秒 · 仅限您自己的地址
| 端口 | 服务 | 状态 | 响应时间 | 含义 |
|---|
端口参考
点按端口号即可加入检测。| 端口 | 服务 | 典型用途 |
|---|---|---|
| FTP | 文件传输(未加密;避免对外开放) | |
| SSH | 安全Shell、SFTP、远程管理 | |
| SMTP | 服务器之间的邮件投递;家庭宽带运营商常常拦截 | |
| DNS UDP | 域名解析(只有DNS服务器才应开放) | |
| HTTP | Web服务器,未加密 | |
| POP3 | 邮件下载(未加密) | |
| IMAP | 邮件访问(未加密) | |
| HTTPS | Web服务器,TLS | |
| SMTPS | 通过TLS提交邮件 | |
| SMTP submission | 邮件提交(STARTTLS) | |
| IMAPS | 通过TLS访问邮件 | |
| OpenVPN UDP | OpenVPN服务器 | |
| RDP | Windows远程桌面 | |
| VNC | VNC远程屏幕 | |
| HTTP alt | 备用Web端口、代理、开发服务器 | |
| Minecraft | Minecraft Java版服务器 | |
| Source games UDP | Source引擎游戏(CS2、TF2) | |
| Plex | Plex媒体服务器远程访问 | |
| WireGuard UDP | WireGuard VPN(UDP;此处无法测试) |
检测您IP上的端口
输入端口号(或从预设中选择一个),然后点击检测。我们位于法兰克福的服务器会尝试与您公网地址的该端口建立TCP连接,并报告开放、关闭、被过滤或无法访问以及响应时间。每次请求最多十个端口,每分钟最多二十次请求。检测器只能测试您当前连接所用的地址;它会拒绝其他目标,因此无法被用来扫描第三方。
开放、关闭与被过滤的含义
开放:连接成功完成;有程序在监听,并且路由器转发了该端口。关闭:您的地址回应了拒绝——端口可以到达,但没有程序在那里监听(转发规则有效,只是应用程序没有运行或监听了其他端口)。被过滤:三秒内没有任何应答——防火墙或NAT悄悄丢弃了数据包,这是没有设置转发规则的家庭网络的正常状态。无法访问:根本没有到您地址的路由。
常用的待测端口
预设涵盖了人们实际会映射的端口。常用端口号一览指南列出了更多。
游戏端口
游戏服务器大多使用UDP,而TCP连接测试无法探测UDP;请测试游戏文档中给出的TCP端口(例如Minecraft Java版的25565、Source引擎游戏的27015),并把开放的结果视为转发和防火墙都已正确配置的证明,因为UDP规则通常是一起设置的。NAT类型为严格的游戏主机,从UPnP或NAT类型测试中获益更多,而不是逐个端口测试。
远程访问(SSH、RDP)
22(SSH)、3389(RDP)、5900(VNC)。这些端口从互联网显示为开放,只有在您有意为之时才是好事——而且要配合密钥或强密码认证、及时更新,最好再在前面加一层VPN。如果不是您有意打开的,请关闭转发规则。
Web与邮件端口
Web服务器的80和443,服务器之间投递邮件的25,提交邮件的465/587,基于TLS的IMAP/POP的993/995。许多家庭宽带运营商会拦截入站的25端口,有时还有80端口;家庭线路上25端口显示被过滤,通常是运营商所为,而不是您的路由器。
CGNAT可能导致端口映射失效
如果无论映射什么端口都显示被过滤,而且路由器的WAN地址以100.64–100.127开头,或者与本站显示的地址不同,说明您的运营商让许多用户共用一个公网地址(运营商级NAT)。此时路由器上的任何转发规则都无济于事;请向运营商申请公网地址、使用IPv6,或使用隧道服务。CGNAT检测可以确认这一点。
端口显示关闭:如何修复端口映射
由外向内排查。1)确认本站显示的公网地址与路由器中的WAN地址一致;如果不一致,参见上文的CGNAT。2)在路由器中,把外部端口转发到设备的内网地址和应用程序监听的端口,并选对协议(TCP、UDP或两者)。3)给设备分配固定的内网地址(DHCP保留),以免规则下周就失效。4)在设备自身的防火墙中放行该端口(Windows Defender防火墙、macOS防火墙、Linux上的ufw)。5)确保应用程序正在运行,并且绑定到了所有接口,而不仅仅是127.0.0.1。6)重新运行检测;关闭说明第1–3步已经正确,还差第4或第5步;被过滤说明第2或第3步仍有问题。
如何在电脑上检查端口是否开放
在从外部测试之前,可以用系统自带的工具查看某个程序是否在本地监听。
Windows(Test-NetConnection)
在PowerShell中:Test-NetConnection -ComputerName 192.168.1.20 -Port 25565测试局域网内另一台设备上的端口;Get-NetTCPConnection -State Listen列出本机上所有正在监听的端口。TcpTestSucceeded: True表示该端口在本地有响应——如果本页此时仍显示被过滤,问题就出在路由器规则上。
macOS和Linux(nc)
nc -zv 192.168.1.20 25565测试局域网设备上的端口;sudo lsof -iTCP -sTCP:LISTEN -n -P(macOS)或ss -ltnp(Linux)列出本地监听的程序。逻辑相同:本地能通而从这里不通,说明问题在路由器或运营商。
常见问题
如何检查443端口是否开放?
在上方输入443并点击检测。开放表示路由器把443转发到了一个正在监听的Web服务器;被过滤表示没有任何转发(家庭网络的正常结果);关闭表示转发有效,但没有服务器在监听。
如何判断8080端口是否开放?
用8080重复同样的步骤。如果您在网络内部的8080端口上运行着服务,而结果是被过滤,请为该设备添加一条TCP 8080的转发规则,并在设备防火墙中放行它。
有办法测试端口吗?
有——本页可以从互联网测试您自己公网地址上的任意TCP端口,这是唯一能证明转发规则端到端有效的测试。对于局域网内设备上的端口,请按上文所述使用Test-NetConnection或nc。
如何测试22端口是否开放?
输入22。开放表示SSH可以从互联网访问——如果是您有意设置并使用密钥认证,那没问题;否则请关闭该规则。被过滤或关闭表示它无法从外部访问。
如何检查25端口是否开放?
输入25。注意,许多家庭宽带运营商会拦截入站和出站的25端口以遏制垃圾邮件,所以家庭网络上显示被过滤往往是运营商所为,而不是您的路由器。托管服务商上的邮件服务器通常25端口是开放的。
我可以用587端口代替25端口吗?
从客户端向您自己的邮件服务器发送邮件时,可以:587(提交端口,带认证和STARTTLS)是标准做法,运营商不会拦截它。25端口用于服务器之间的投递;如果您运行的邮件服务器必须接收邮件,25端口就必须开放——请运营商解除拦截,或使用中继服务。
结果来自我们位于法兰克福的服务器向您的地址发起的实时TCP连接尝试;不缓存,不保存。