
目的与前提:确认某一 CDN 加速域名背后的真实回源 IP/主机。准备工作:A) 一台或多台代理节点(SSH 可做 SOCKS5、HTTP 代理或 VPS),B) 本地具备 curl、dig、nc、openssl、traceroute 等工具,C) 有合法测试权限。小分段:1) 列出要测试的域名;2) 准备代理节点登录信息;3) 备份与合规确认。
步骤:1) 使用 dig 查 CNAME 链:dig +nocmd www.example.com CNAME +noall +answer;2) 查看 A 记录:dig +short www.example.com A;3) 使用 dig +trace 或 host 命令追踪域名解析路径。小分段:如果发现 CNAME 指向类似 origin.example.net,记录下来作为候选回源。
命令示例:ssh -fND 1080 user@proxy-server(将本地 1080 端口作为 SOCKS5)。小分段:确保代理节点能访问目标站点;使用 ss 或 netstat 检查本地监听端口;若需 HTTP 代理,可在 VPS 上安装 tinyproxy 或 squid。
curl 示例:curl -I --socks5-hostname 127.0.0.1:1080 https://www.example.com/ -v。小分段:观察响应头中的 X-Cache、Via、Server、Age、X-CDN 等字段;不同节点返回不同的缓存状态可指示 CDN 节点层级。
首先获取候选 IP(通过 dig 或 CNAME 解析得到)。然后使用 nc 或 curl:printf 'GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n' | nc
如果使用 HTTPS 且依赖 SNI,使用 openssl:openssl s_client -connect
ssh 到代理节点后执行:traceroute -n
在代理或 origin 上抓包:sudo tcpdump -i any host
在本地 /etc/hosts 中添加:
<origin_ip> www.example.com
然后直接访问 https://www.example.com/(若 HTTPS,需配合 --insecure 或证书匹配)。小分段:此法能验证 origin 在不经过 CDN 时的真实响应,但注意还原 hosts 文件以免影响其他访问。
注意字段:X-Cache(MISS/HIT)、Via、Server、Age、X-Backend、X-Origin 等。小分段:将通过 CDN 请求与通过 origin_ip+Host 请求的响应头逐项比较,内容、Cookie、页面内 JS 注入或调试信息都可能不同。
提醒:未经授权的扫描或暴力探测可能违法或触犯服务条款。小分段:仅在自有域名或经授权的环境做深入回源检测;记录操作过程并避免对目标服务器造成负载。
答:通常不能直接从 CDN 正常响应得出真实回源 IP,因为 CDN 层会隐藏回源并返回缓存层头信息。需要通过 DNS CNAME 链、候选 IP 直接访问并带 Host 头、或在代理节点上做 traceroute/抓包对比来确认回源。
答:若回源仅允许 CDN 源 IP 访问,直接连不上是正常表现。此时可通过查看 CDN 平台配置、控制台回源域名、或联系平台支持获取合法回源信息;切勿尝试绕过安全策略。
答:HTTPS 测试可使用 openssl s_client 指定 SNI 或 curl --resolve 加映射并配合 --insecure 临时忽略证书校验。小分段:仅在可控测试环境下使用 --insecure,生产环境应通过正确证书与 SNI 验证来确认回源。