绕过 CDN 获取真实 IP 的方法
虽然 CDN(内容分发网络)极大提升了网站访问速度与安全性,但同时也给网络取证工作带来了新的挑战。由于 CDN 会将请求分发至各个节点,通常获取到的 IP 地址是 CDN 节点的虚拟地址,而非网站服务器的真实 IP。因此,在某些调查场景中,我们需要绕过 CDN,探寻目标网站的真实地址。
常见 CDN 服务商
国内 CDN 提供商
阿里云 CDN,百度云加速,七牛云,又拍云,腾讯云 CDN,UCloud,360 网站卫士,网宿科技,ChinaCache(蓝汛),帝联科技,等
国外 CDN 提供商
Cloudflare,StackPathFastlyAkamai,Amazon CloudFront,Edgecast,CDNetworks,Google Cloud CDN,CacheFly,KeyCDN,UDomain,CDN77,等
如何判断网站是否启用 CDN?
方法一:多地 Ping 测试
使用多地 Ping 工具检测域名的解析 IP 地址是否唯一。如果不同地点的解析 IP 不一致,很可能是部署了 CDN。推荐工具:
方法二:使用 nslookup
通过 nslookup
查看域名解析结果,若返回多个不同 IP,也可能为 CDN 所致。
绕过 CDN 查找真实 IP 的方法
方法一:查询历史 DNS 记录
可以尝试查看域名历史解析记录,可能找到部署 CDN 前的真实 IP。推荐网站:
方法二:子域名信息挖掘
部分二级域名未部署 CDN,因此可能泄露真实 IP。常用工具与平台:
- 微步在线:查询目标域名的子域名信息
- DNSDB:查询子域名及其 A 记录
- 子域名挖掘工具(如 SubDomainsBrute、OneForAll、Sublist3r 等)
此外,开发者在部署测试环境时,可能未清理调试信息(如 phpinfo 文件),通过 Google dork 如 inurl:phpinfo.php
可进一步挖掘。
方法三:利用网络空间搜索引擎
使用如 FOFA、Shodan、Censys 等搜索引擎,通过网站特征(title、body、icon hash 等)反查真实 IP:
- 示例:
title="网站名称"
、body="特征代码"
方法四:使用国外 DNS 或多地 Ping
部分 CDN 仅在国内部署,使用国外的 DNS 或多地 Ping 工具可能解析出原始服务器 IP:
方法五:分析网站发送的邮件头信息
如果目标网站支持注册、找回密码、邮件订阅等功能,可以尝试注册账号并查看邮件头部信息,邮件服务器地址往往是未经过 CDN 的真实 IP。
方法六:利用 SSL 证书信息
证书日志中常记录有服务器的域名、IP 和相关子域信息。通过 SSL 证书平台可反查:
方法七:利用信息泄露或漏洞
- 敏感文件暴露:如 phpinfo、git 配置等
- 漏洞利用:如 SSRF、XSS、命令执行等
- 社会工程学:获取 CDN 控制台权限,查看真实 IP
方法八:全网扫描比对
使用 Zmap 或 Masscan 扫描整个公网,并结合网站特征过滤结果:
方法九:F5 LTM Cookie 解码
F5 LTM 负载均衡设备会在 Cookie 中写入后端服务器地址,可通过 Cookie 值解码出真实 IP。例如:
1 | Set-Cookie: BIGipServerpool_xxx=605532106.22012.0000 |
- 先把第一小节的十进制数,即
605532106
取出来 - 将其转为十六进制数
2417afca
- 接着从后至前,取四个字节出来:
CA AF 17 24
- 最后依次转为十进制数
202.175.23.36
,即是服务器的真实 ip 地址。
方法十:HTTP 请求头分析
某些 HTTP 响应头(如 Server
)可能暴露真实服务信息。通过搜索引擎如 Censys 查询特定标头也有机会发现原始 IP:
示例查询:
1 | 80.http.get.headers.server:cloudflare |
结语
CDN 作为一种加速与防护机制,本质上是提升访问体验与网站安全。然而在某些调查与取证需求下,它也成为信息获取的一道“屏障”。通过上述方法,我们可以从多个维度尝试绕过 CDN,定位背后的真实服务器 IP。在执法或合规场景中,若确认使用了国内 CDN 服务,还可考虑通过法律途径申请调证以获取真实信息。