返回博客列表

如何判断一个网站用了哪家 CDN?四种信号交叉验证

CDNBench 技术团队发布于 2026-07-288 分钟阅读
如何判断一个网站用了哪家 CDN?四种信号交叉验证

为什么识别 CDN 没那么简单

很多人以为查一下网站的 IP 就能知道它用了哪家 CDN,实际上 CDN 大量使用 Anycast、多层嵌套和智能解析,单一信号往往会误判。可靠的识别需要多重信号交叉验证

信号一:CNAME 链(最强信号)

对目标域名做 DNS 查询,追踪它的 CNAME 指向。绝大多数 CDN 都要求用户把域名 CNAME 到厂商的调度域名:

  • *.cdn.dnsv1.com → 腾讯云 CDN
  • *.alicdn.com / *.kunlun*.com → 阿里云 CDN
  • *.akamaiedge.net → Akamai
  • *.cloudfront.net → AWS CloudFront

CNAME 是最强的信号,因为它是接入 CDN 的必要配置。

信号二:HTTP 响应头指纹

发一个 HEAD 请求,观察响应头里的特征字段:

Header厂商
CF-RayCloudflare
X-Amz-Cf-IdCloudFront
X-Served-ByFastly
Server: tengine阿里系

信号三:IP 段与 ASN

解析出边缘 IP 后,查询它归属的自治域号(ASN)。例如 Cloudflare 的 AS13335、Fastly 的 AS54113。每家 CDN 都有公开或可枚举的 IP 段。

信号四:TLS 证书

抓取握手阶段的证书颁发信息作为辅助判断,尤其在 CNAME 被隐藏(如通过 A 记录直连)时有用。

现实中的复杂情况

真实世界里经常遇到:

  1. 多 CDN 叠加:大站可能网页用 Cloudflare、视频用另一家。
  2. CDN 套 CDN:外层 Akamai 套内层自建,DNS 只能看到最外层。
  3. 国内厂商指纹独立:腾讯云、阿里云的指纹和国际厂商完全不同,必须单独维护规则库。

因此,识别结果应当返回多个候选厂商 + 各自置信度 + 判定证据,而不是给出一个"100% 确定"的答案。诚实标注不确定性,才是可信的做法。