打开命令提示符,网站敲下 ping baidu.com,网站回车。网站屏幕上跳出一串数字,网站比如 39.156.66.10——这就是网站百度首页的IP地址。但你要是网站以为所有网站都这么老实,那就错了。网站很多大站背后挂着CDN,网站你ping到的网站只是离你最近的缓存节点,真正的网站源站IP藏在层层迷雾后面。
先说说最直接的网站笨办法。Windows下用nslookup,网站Linux下用dig,网站都能查到域名对应的网站A记录。比如查GitHub:nslookup github.com,网站返回的IP大概率是20.205.243.166(新加坡节点)。但你要是拿这个IP去访问,速度可能慢得像蜗牛,因为GitHub的全球调度系统会根据你的地理位置分配不同机房。
遇到CDN就得换思路。有些站长图省事,把子域名直接解析到源站IP,比如mail.example.com或者dev.example.com。用dig example.com any或者在线工具查历史DNS记录,往往能翻出漏网之鱼。我之前排查一个外贸网站,主域名套了Cloudflare,但他们的测试环境test.example.com裸奔在阿里云上,一查一个准。
还有个野路子——看SSL证书。用crt.sh搜索域名,能列出所有签过证书的子域名。有些企业会把内部系统也配上证书,比如vpn.example.com或者erp.example.com,这些往往直连源站。去年帮朋友查一个游戏私服,就是通过证书历史记录找到了他们的支付回调服务器,IP直接暴露在海外机房。
最麻烦的是全站套CDN且没泄露任何子域名的站点。这时候可以试试通过邮件头溯源——给网站联系邮箱发封邮件,查看原始邮件头里的Received字段。不过现在大公司都用企业邮局,这招基本失效。另一个思路是找历史漏洞报告,像HackerOne上公开的SSRF漏洞详情里,经常附带当时的源站IP,虽然时效性差,但能碰碰运气。
说实话,对普通用户而言,搞到真实IP意义不大。你访问的是CDN节点还是源站,体验上没区别。但做网站运维或安全测试的人,这招能救命——比如排查DDoS攻击时,发现CDN被打瘫了,直接切源站IP能撑一阵。我刚入行时,师傅教的第一招就是查IP,现在这技能反而成了对抗黑客的必修课。
最后提醒一句:查到IP别乱试。有些源站防火墙只放行特定IP段,你拿自己宽带去连,可能触发封禁。真有需求的话,挂个代理再探测,别把自己搭进去。
