端口检测到底在测什么?多节点拨测先分清是网络还是服务器
端口开放,服务却用不了
监控显示 443 端口开放,我判断站点正常。用户反馈打不开,一查是应用挂了,Nginx 还在监听,握手照样成功。
那次之后我把「端口开放」和「服务可用」彻底分开看。那次排查花了很久,因为方向一开始就错了。
它只做三次握手
检测工具向目标端口发 SYN,对方回 SYN-ACK,再回 ACK,连接建立。
然后工具就关掉了,不发送任何业务数据,所以整个过程很快。
它验证的其实只有一件事:这个端口上,有程序在监听,且链路可达。有些服务在握手后立刻断开,端口检测仍然显示开放,这类服务看起来通,其实完全不能用。

TCP 检测:填域名和端口,多节点看连通与握手耗时
三种结果
开放:握手成功,有服务在听。
关闭:对方回了 RST,明确表示这个端口没人监听。
无响应:包被丢弃,通常是防火墙或安全组,也可能主机不可达。
前两种是设备明确表态,第三种最难判断,因为它可能只是策略。用宝塔拨测的 TCP 测速从多个地区、多个运营商的节点各测一遍,能看出是某个入口的策略,还是全局都拦。
它不测应用层
握手成功之后,服务是否正常响应请求,它完全不知道。
应用可能卡死、可能返回 500、可能只接受特定协议。这些都要另外测。
HTTPS 还要看证书,数据库还要看认证,邮件还要看欢迎语,都不是端口层能回答的。要看它是否保持连接、是否返回数据,这些细节 TCPing 里看不到。
什么时候够用
确认防火墙规则有没有生效、端口有没有对外开放,端口检测最直接。
服务器禁 ping 时,它还能绕过 ICMP 限制,证明链路通不通。
做暴露面核查时,批量扫端口也离不开它。扫描常用端口和自定义端口要分开看,有些业务用的就是非常规端口,别漏掉。检测前先确认端口和协议,TCP 和 UDP 是两套结果。UDP 没有握手,通常只能靠有没有回包判断,误差更大。
复测和配合
只有部分节点通,偏线路;全部不通,偏策略或服务没起。端口扫描的结果要结合安全组规则一起理解:规则放行了,不代表服务在听;服务在听,也不代表对所有人开放。这三层要分开确认,很多人把它们混成一个「通不通」。
端口通了,再往上一层用 HTTP 或对应协议验证,状态码和响应内容都要看。两层都过,才算真的可用。端口检测的价值,在于快和广,不在于深,把这三层分清楚之后,排查会快很多,也不容易给出错误结论。