443 开放,我就当成 HTTPS

做资产梳理时,看到 443 有服务,我直接标成 HTTPS 站点。后来一访问,返回的是一段 JSON。

端口号和协议没有绑定关系。443 只是大家习惯放 HTTPS 的地方。那次资产表上多了一堆假 HTTPS。

端口只是号码

服务想监听哪个端口,是配置决定的。IANA 有约定,但没人强制。

把 SSH 放 443、把 Web 放 2222,技术上完全可行。很多环境出于绕开扫描,故意这么做。

所以端口清单只能告诉你「哪里开门」,不能告诉你「门后是谁」。

TCP 检测:填域名和端口,多节点看连通与握手耗时

TCP 检测:填域名和端口,多节点看连通与握手耗时

怎么确认对面是什么

先握手。TLS 能协商成功,才可能是 HTTPS 类服务。

再看证书。证书的域名、颁发者能说明它想冒充谁。

然后发一个请求,看响应。HTTP 状态行、响应头、正文,能区分 Web、API、代理和别的服务。指纹能拿到服务名和版本。端口扫描和协议识别是两件事,很多工具只做前者,别把结果当后者,要看协议必须真的发一次请求,或者完成一次握手。

用宝塔拨测的 TCP 测速先确认端口通不通、握手耗时多少,再往上一层验证协议,别停在这一步。

为什么这件事重要

做暴露面审计时,把 443 当成 HTTPS,会漏掉「这不是网站」的服务。

做迁移时,以为改端口就换了服务,实际还在跑旧程序。

做安全评估时,端口号对不上服务,规则就会配错。巡检表写错,后面全错。

多节点看一致性

同一端口在不同地区返回不同内容,可能是 CDN、负载均衡,也可能是不同机器。

按运营商和地区分组看,能发现「只有某地是另一种服务」的情况。同一个 IP 也可能挂多个服务。

只看一个节点,很容易以为全网一致,多测几个地方才稳。

复测与警惕

确认协议之后,再记录端口、协议、服务指纹和证书信息,别只写端口号。

换配置后复测一次,确认服务真的换了,而不是只换了个端口。

看到 443 上跑着非 Web 服务,或者 80 上跑着管理后台,值得多问一句:这是故意的吗?尤其 8443、9443 这类端口,常被用来放管理面板,开放不等于可以随便进。管理面板暴露在公网风险很高,哪怕端口号换成不常见的,扫描器也会扫全端口,改端口只是降低噪音,别把它当安全措施,真正的措施是访问控制,以及强认证。这些和端口号无关,但和暴露面直接相关。

端口只是线索,协议才是真正的答案。