今天去找了一下www.bilibili.tv的IP(為什么要這樣子做見),發現www.bilibili.tv使用了CDN服務直接ping找不到其真實IP(實際上不用找也可以但就是想找一下)。
那我們應該怎么樣去找CDN下的真實IP呢?
我們先來看一下直接ping是什么樣子的。
可以看到我們ping到的IP是183.61.9.45,CDN對域名解析過程進行了調整,識別到的是bilibili.hdsld.com,是bilibili.tv的一個CNAME記錄。
根據網上的方法,我找到如下途徑去解決這個問題
方法一:ping bilibili.tv
原因是 www.bilibili.tv 和 bilibili.tv 的解析是兩條獨立的記錄,很多公司都會只給 www.bilibili.tv 做 CDN
倒是把bilibili.tv的IP給解析出來了,但這個IP是連不上B站的。
方法二:ping member.bilibili.tv
原因是 很多公司不會給二級域名做CDN服務,member.bilibili.tv是B站的會員中心
一樣是不行,ping到的還是一個CNAME記錄。
方法三:找歷史記錄
原因是 在使用CDN前和使用CDN后的IP地址會發生變化,只要找到使用CDN前的地址就可以
在netcraft.com查了一下
把上面的IP都測試了一遍,無果。
方法四:使用國外vpn服務器 ping
原因是 大多數CDN只針對國內的DNS服務器而沒有考慮國外的,這種方式本質上是使用國外的DNS服務器ping一下,這里我們使用nslookup命令指定國外DNS服務器試一下。
美國
失敗。。。
加拿大
超時
英國
失敗
日本
一樣是失敗
方法五:調查下目標的公司所在地,分析出公司最可能有自己機房的地方
呵呵
方法六:找到網站的phpinfo
不知道怎么找。。。
方法七:反向查找
原因是 讓服務器向你推送消息,那就可以得到真實IP
在B站上注冊一個賬號,得到郵件的報頭
這樣子我們就得到了B站的真實IP地址,可以看到如果我們直接ping二級域名mail.bilibili.tv也是可以得到這個IP的
因此感覺最靠譜的方式還是暴力測試二級域名,不行的話就看一下能不能反向查找。