一、CDN 的基本原理#

CDN(内容分发网络)通过在全球各地部署边缘节点,将网站的静态资源缓存到离用户最近的服务器上。
当用户访问网站时,请求会被调度到最近的 CDN 节点,而不是直接访问真实服务器,从而提升访问速度并隐藏源站 IP。


二、如何判断网站是否使用了 CDN#

在尝试获取真实 IP 之前,需要先确认目标是否启用了 CDN。

1. 多地 Ping 测试#

如果从不同地区 Ping 同一个域名,返回的 IP 地址不同,通常说明使用了 CDN。

2. DNS 解析对比#

通过 nslookupdig 或在线 DNS 工具,在不同网络环境下解析域名,若解析结果变化明显,很可能存在 CDN。

3. HTTP 响应头判断#

查看响应头中的 ServerViaX-Cache 等字段,常能看到 CDN 厂商的特征标识。

4. 端口特征分析#

CDN 节点通常只开放 80/443 端口,如果发现其他端口直接暴露服务,可能是真实服务器。


三、绕过 CDN 获取真实 IP 的常见方法#

1. 查询历史 DNS 记录#

通过 DNS 历史记录服务,查找域名在启用 CDN 之前解析过的 IP。

2. 子域名探测#

部分子域名(如后台、测试站点)可能未接入 CDN,通过枚举子域名并解析 IP,有机会定位源站。

3. 网络空间搜索引擎#

使用 FOFA、Shodan、Censys 等搜索引擎,根据网站特征匹配对应的服务器 IP。

4. 国外解析与访问#

某些 CDN 仅在国内生效,使用国外 DNS 或节点解析域名,可能直接返回真实 IP。

5. 邮件头信息分析#

若网站存在注册或邮件通知功能,可通过分析邮件头中的 Received 字段获取服务器 IP。

6. SSL/TLS 证书关联#

通过证书透明日志(CT Log)查询证书历史,可能发现未经过 CDN 的服务器地址。

7. 信息泄露与配置错误#

如源站错误配置、调试信息泄露、未限制访问的 IP 服务等,都可能直接暴露真实 IP。


四、真实 IP 的验证方法#

获取到疑似真实 IP 后,需要进一步验证:

  1. 直接通过 IP 访问网站内容是否一致
  2. 在本地 hosts 文件中绑定域名测试
  3. 扫描端口与服务指纹是否与目标站点一致
  4. 对比页面内容哈希值确认相同性

五、注意事项#

  • 所有测试应在合法、授权的前提下进行
  • 优先使用被动信息收集方法,避免对目标造成影响
  • CDN 本身是正常的安全与加速手段,不应被滥用

本文仅用于技术学习与安全研究。