现在很多网站用了cdn技术,在做一些测试的时候,想获取其服务器真实IP地址就有点困难,不知道现在还有其他什么好的方法呢,整理了下,目前知道如下两种:
1:拿CDN服务器 找出真实IP cache_peer 1.1.1.1 parent 80 0 no-query originserver cache_peer_domain 1.1.1.1 www.c2sec.com
2:判断HTTP_X_FORWARDED_FOR是否为空,不为空把这个作为IP地址,否则取得REMOTE_ADDR作为IP地址。 如果服务器可以上传文件,可上传文件加如下代码: Request.ServerVariables(“LOCAL_ADDR”)’得到服务器的IP地址 Request.ServerVariables(“REMOTE_ADDR”)’得到客户端的IP地址/这个有可能是代理
request.ServerVariables(“HTTP_X_FORWARDED_FOR”)’得到请求客户端真实IP地址
3:可以找二级域名查下
可以参考only_guest 的方法,找个 国外的服务器ping,一般获得都是真实IP。
以上百度出来后,感觉坑爹了。
又继续查找
首先,CDN、负载均衡、反向代理还分为很多层,有时查出来的是最外层的 CDN 服务器群,真实的机器是不对外开放的,类似这样的:
作者:Nuclear’Atk
用户 → CDN 网络 → 一台或多台真实机器
↗ CDN Server 1 ↘ 用户 → CDN Server 2 → 真实机器 ↘ CDN Server N ↗
--------------------------------------------------------
用户 → CDN 网络 → 一台或多台反向代理 → 一台或多台真实机器
↗ CDN Server 1 ↘ 用户 → CDN Server 2 → Reverse Proxy Server → 真实机器 ↘ CDN Server N ↗
具体根据网络的负载需求,CDN 服务器的数量以及分级层数是不一定的。
如果是这样的话,除非日一台CDN服务器看记录或者日进CDN供应商控制系统或后台,才能找到真实IP,但是那些CDN服务器配置完全一样,应该很难搞。
(这些CDN服务器不止代理的这一家网站,现在都是同时代理很多家网站,这就可以解释你旁站查询出来很多不相干的网站都在同一个IP地址,这是CDN服务器供应商节省成本的一种方案,一台CDN同时代理多家网站,CDN供应商根据你支付金额的多少,决定使用多少台CDN服务器。)
(这些CDN服务器一般都在高防机房,拥有很大的带宽,并且大多数CDN运营商还拥有云防火墙技术,什么叫云防火墙?即:任意一台服务器检测到DDOS攻击后,会向所有服务器通告这些攻击源IP,然后所有这些服务器都同时屏蔽这些地址,以实现整个网络屏蔽DDOS的目的,这些服务器组成了一个很强力的抗DDOS网络,这是目前对付DDOS攻击,比较有效的方案之一。)
(再补充一点经验,这些CDN服务器还根据你提交的 HTTP HOST 头(也就是域名)返回不一样的系统信息,更有甚者,只要你 HTTP HOST 头不正确(不是它提供服务的域名),直接掐断连接,不返回任何数据,你就得不到任何有效信息,如果你使用“长安刺客 – 旁注杀手 v1.2 版 + CDN 终结者 v1.1”的话,那么需要在 CDN 终结者界面勾选特殊模式,然后再刺探网络构架,有时候会有惊喜哟……)
还有另外一种:
用户 → 多台实时同步的缓存服务器与真实机器
↗ Cache Server 1 用户 → Cache Server 2 ↘ Cache Server N ↘ 真实机器
如果是这种的话,很容易就可以找出来真实服务器的IP地址,因为他们 HTTP Banner 等信息是完全不一样的,用“长安刺客 – 旁注杀手”一眼就看出来了。
还有另外几种 CDN、负载均衡、反向代理 等网络构架:
用户 → 负载均衡 → 服务器群
↗ Cache Server 1 用户 → Load Balance → Cache Server 2 ↘ Cache Server N
--------------------------------------------------------------
用户 → 反向代理类服务器 → 一台或多台真实机器
↗ 真实机器1 用户 → Reverse Proxy Server → 真实机器2 ↘ 真实机器N
再结合 xxbing 提供的方法:
关于探测主站真实IP,我一般先查一下分站IP,有一种情况是,主站采用了CDN,分站没有用。
比如 bbs.xxx.com、vip.xxx.com、pay.xxx.com 都是 111.111.111.x 段的,那么主站也很有可能是 111.111.111.x 段的。扫一下这个段的80吧。
这确实是个好方法,针对国内的大站,多分玉米的很实用。但是现在很多国外站各种分域名ping出来和主站都是一个IP。
可以暴力跑一下2级域名。什么 blog.xxx.com、admin.xxx.com、root.xxx.com。反正4位英文以内的。。