判断是否使用CDN,可以先从最直观的几个信号入手:DNS记录是否存在CNAME指向第三方域名、响应IP是否属于知名CDN IP段、HTTP响应头是否包含CDN特有字段(如CF-Cache-Status、X-Cache等)。这些初步信息能快速提示该站点是否经过CDN加速。
1)使用dig或nslookup查询A/CNAME记录,查看是否指向CDN厂商域名;2)用curl -I查看响应头,注意Server、Via、X-Cache等字段;3)使用traceroute或mtr观察路由跳数与终点ISP归属;4)比对IP归属(whois或ipinfo)看是否属于CDN运营商。
推荐工具:dig/nslookup、curl、traceroute/mtr、whois、ipinfo、在线解析服务(ViewDNS、SecurityTrails)。
DNS和HTTP头能提供明确线索:DNS的CNAME通常指向CDN提供商的域名,HTTP头里的缓存相关字段表明响应来自边缘节点而非源站;而源站常在证书或原始A记录中能被发现。
1)在不同地区或不同解析器上执行dig +trace,查看是否有CNAME链并记录最终解析IP;2)用curl -I或curl -v观察响应头(检查X-Forwarded-For、Via、Server、CF-Cache-Status等);3)若有条件,比较带不同Host的响应,或使用curl --resolve将域名解析到疑似源IP,观察内容差异。
DNS缓存、负载均衡和CDN智能路由会导致不同解析结果,务必在多地、多次查询并比对;不要单凭一次HTTP头或单个IP就断定为源站。
定位源站可分为主动探测工具和被动情报平台。主动工具用于直接网络探测(traceroute、nmap、curl);被动工具用于查证证书、历史DNS、公开资产(crt.sh、Censys、Shodan、SecurityTrails)。两类结合效果最好。
1)crt.sh:检索TLS证书的域名与SAN,常能找到源站或历史A记录;2)Censys/Shodan:按IP或域名搜索暴露服务与端口信息;3)SecurityTrails/PassiveTotal:查看被动DNS历史记录;4)masscan/nmap:在合法授权下探测目标IP的开放端口;5)curl/traceroute/dig:用于现场验证与路由排查。
使用主动扫描工具时务必取得授权或在自有资产上测试,避免触犯法律或触发入侵检测。被动情报在公开信息范围内使用风险低但需谨慎判断。
误判常来自:把CDN边缘IP当作源站、单次DNS解析结果导致错误结论、忽略TLS证书的泛域名或共享证书导致混淆、因负载均衡看到多个IP误以为都是源。
1)在不同运营商、不同地理位置重复解析并对比结果;2)核查证书透明日志(crt.sh)看是否存在指向真实主机名的记录;3)确认CDN特定响应头并结合路由/ASN信息判断是否为边缘节点;4)查看站点是否有Origin Protection(例如CDN只允许特定Referer或IP访问源),若无法直接访问可能说明真实源被保护。
优先使用被动情报确认线索,再用受控的主动验证(如通过自有VPS或授权环境发起请求),避免单一信息源决定结论。

确认疑似源站后,任何进一步操作应遵循“最小侵入、合规审慎”的原则:仅在获得授权或对自有资产测试时使用主动探测,记录所有步骤并避免破坏性扫描。
1)使用curl --resolve或本地hosts在受控环境中访问疑似源IP,比较内容差异以确认是否为源;2)通过证书细节(Issuer、SubjectAltName)和被动DNS历史验证域名与IP的关系;3)如为客户或自家资产,落实防护策略:限制源站IP访问、配置WAF、关闭源站直连端口。
若发现源站暴露,应立即采取访问控制措施并通知相关负责人。对于第三方资产,按照法律与道德规范处置,不要进行未授权入侵或破坏性测试。