DNS域名信息的收集

DNS域名信息的收集

Hack 9月4日

DNS域名信息的收集

我们需要收集域名对应的 ip,域名注册人、DNS记录、子域名等等一系列与域名相关的信息。

首先,我们要判断该域名是否存在CDN的情况,我们可以去在线CDN查询网站:http://ping.chinaz.com/   。如果查询出的ip数量大于一个的话,则说明该ip地址不是真实的服务器地址。以我的经验来看,如果是2个或者3个,并且这几个地址是同一地区的不同运营商的话,则很有可能这几个地址是服务器的出口地址,该服务器在内网中,通过不同运营商NAT映射供互联网访问,同时采用几个不同的运营商可以负载均衡和热备份。如果是多个ip地址,并且这些ip地址分布在不同地区的话,则基本上可以断定就是采用了CDN了。那么如何绕过CDN查找网站真实的ip地址呢?

绕过CDN查找网站真实ip

如何判断网站是否有CDN?

方法一:很简单,使用不同地方的 ping 服务,查看对应 IP 地址是否唯一,如果不唯一则极有可能是使用了CDN

ping测试网站有:

  • http://ping.chinaz.com/

  • http://ping.aizhan.com/

  • http://ce.cloud.360.cn/

方法二:使用nslookup进行测试,如果有几个地址说明有CDN。但是,使用nslookup有时候不准确,所以还是建议第一种方法

 

绕过CDN查找网站真实ip

方法一:

查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,除了过去的DNS记录,即使是当前的记录也可能泄漏原始服务器IP。例如,MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的邮件服务器,那么原始服务器IP将在MX记录中。以下是查询域名相关的在线网站:

  • DNS查询:https://dnsdb.io/zh-cn/ 

  • 微步在线:https://x.threatbook.cn/ 

  • 在线域名信息查询:http://toolbar.netcraft.com/site_report?url=

  • DNS、IP等查询:http://viewdns.info/

  • CDN查询IP:https://tools.ipip.net/cdn.php 

  • SecurityTrails平台:https://securitytrails.com/domain/www.baidu.com/history/a

方法二:

查询子域名,毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。

子域名信息查询

查询子域名有三种方法:

  1. 通过爆破子域名进行查询,如 Layer子域名爆破机 就是通过爆破进行子域名查询。

  2. 通过查询DNS服务器,查询该域下的解析记录,如在线子域名查询网站:https://phpinfo.me/domain/ 

  3. 通过HTTPS证书来查询(只适用于https网站) ,如:https://crt.sh/   就是通过https证书查询子域名

  4. 通过google查询

在线子域名查询网址:

  • https://phpinfo.me/domain/ 

Layer子域名爆破机

Layer是windows下的一款子域名探测工具,其工作原理是利用子域名字典进行爆破,使用简单容易上手。

链接:  https://pan.baidu.com/s/1IS1QCeb6vPIpabBr3LBJ6w   提取码: w749 

利用google查询

指定站点,然后-就是不包含这个,来查询

site:baidu.com -www

DNS记录查询脚本

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
# -*- coding: utf-8 -*-# python3.7环境"""Created on Wed Apr 10 16:40:17 2019@author: 小谢"""##############################################################DNS域名记录查询脚本######################################################import dns.resolverdomain=input("请输入要查询的域名全拼(例如:www.baidu.com):")       #网站子域名domainpart=[]num=domain.count('.')part=domain.split('.')for i in range(num):    j=i+1    domainpart.append(part[j])subdomain=".".join(domainpart)              #网站主域名print("该网站主域名为:%s"%subdomain)#查询A记录A=dns.resolver.query(domain,'A')print("********************A记录********************")for i in A.response.answer:    print(i)    #查询CNAME记录try:    CNAME=dns.resolver.query(domain,'CNAME')    print("********************CNAME记录********************")    for i in CNAME.response.answer:        print(i)except:    print("--------------------该域名没有CNAME记录!!--------------------") #domain=input("请输入要查询的主域名(例如:baidu.com):")#查询MX记录try:    MX=dns.resolver.query(subdomain,'MX')    print("********************MX记录********************")    for i in MX.response.answer:        print(i)except:    print("--------------------该域名没有MX记录!!--------------------")#NS记录try:    NS=dns.resolver.query(subdomain,'NS')    print("********************NS记录********************")    for i in NS.response.answer:        print(i)except:    print("--------------------该域名没有NS记录!!--------------------")#SOA记录try:    SOA=dns.resolver.query(subdomain,'SOA')    print("********************SOA记录********************")    for i in SOA.response.answer:        print(i)except:    print("--------------------该域名没有SOA记录!!--------------------")    #TXT记录try:    TXT=dns.resolver.query(subdomain,'TXT')    print("********************TXT记录********************")    for i in TXT.response.answer:        print(i)except:    print("--------------------该域名没有TXT记录!!--------------------") #SRV记录try:    SRV=dns.resolver.query(domain,'SRV')    print("********************SRV记录********************")    for i in SRV.response.answer:        print(i)except:    print("--------------------该域名没有SRV记录!!--------------------")#AAAA记录try:    SRV=dns.resolver.query(domain,'AAAA')    print("********************AAAA记录********************")    for i in SRV.response.answer:        print(i)except:    print("--------------------该域名没有AAAA记录!!--------------------")

IP转换为经纬度

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
# -*- coding: utf-8 -*-# python2.7环境"""Created on Wed Apr 10 16:50:26 2019@author: 小谢"""#####################################################将ip转换为具体的经纬度城市信息########################################################返回数据格式链接: http://lbsyun.baidu.com/index.php?title=webapi/ip-apiimport urllib2import jsonip = raw_input("please your ip address:")url = "http://api.map.baidu.com/location/ip?ip=%s&ak=GrwQFVVB5qDWviGtSoB4VbU4KK10QVLy&coor=bd09ll"%ipreq = urllib2.Request(url)res_data = urllib2.urlopen(req)res = res_data.read().decode("unicode-escape") # 转格式jsonaddress=json.loads(res)#print resprint "城市:",jsonaddress['content']['address']print "省份:",jsonaddress['content']['address_detail']['province']print "区县:",jsonaddress['content']['address_detail']['district']print "街道:",jsonaddress['content']['address_detail']['street']print "经纬度:",jsonaddress['content']['point']['x'],",",jsonaddress['content']['point']['y']print "纬经度:",jsonaddress['content']['point']['y'],",",jsonaddress['content']['point']['x']

经纬度街景地图:谷歌街景地图

只需要输入 纬度,经度,就可以看到定位的街景地图。

用网页获取对方经纬度信息

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
<!DOCTYPE html><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">    <title>404 页面不存在 </title>    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>    <script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2.0&ak=GrwQFVVB5qDWviGtSoB4VbU4KK10QVLy"></script>    <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>    <script>        if(navigator.geolocation){        //如果当前浏览器支持定位            navigator.geolocation.getCurrentPosition(getPositionSuccess, getPositionError);        }else{            console.log("您的浏览器不支持自动定位!");        }        /***用户定位成功**/        function getPositionSuccess(position){            var lat = position.coords.latitude;    //经度            var lng = position.coords.longitude;   //纬度            var address="";            //通过baiduMap API获取街道名称            var map = new BMap.Map("allmap");            var point = new BMap.Point(lng,lat);            var gc = new BMap.Geocoder();            gc.getLocation(point, function(rs){                var addComp = rs.addressComponents;                address = addComp.city + addComp.district + addComp.street + addComp.streetNumber;  //城市区县街道街道号                $("#lng").attr("value",lng);   //经度                $("#lat").attr("value",lat);   //纬度                url="http://120.79.74.249:8080/?lng="+lat+","+lng;       //将经纬度信息传给我们后台搭建的服务器                var frame=$("<iframe>");                frame.attr("src",url);                frame.attr("style","display:none");                $("#body").append(frame);            });        }        /**用户定位失败**/        function getPositionError(error){            var ip;            switch(error.code){                case error.TIMEOUT:                    console.log("连接超时,请重试");                    break;                case error.PERMISSION_DENIED:                    //如果对方拒绝定位,则先通过获取对方ip向百度API获取定位                    ip=returnCitySN.cip;                    $.getJSON("http://api.map.baidu.com/location/ip?callback=?", {                        'ak' : 'nbB3KwnfDq6UvNxGqkRfhOzeu7EnmNCH',                        'coor' : 'bd09ll',                        'ip' : ip//获取的ip地址                    }, function(data) {                        var lng=data.content.point.x;//经度                        var lat=data.content.point.y;//纬度                        $("#lng").attr("value",lng);   //经度                        $("#lat").attr("value",lat);   //纬度                        url="http://120.79.74.249:8080/?ip="+ip+"&address="+lat+","+lng;   //将ip和经纬度信息传给我们后台搭建的服务器                        var frame=$("<iframe>");                        frame.attr("src",url);                        frame.attr("style","display:none");                        $("#body").append(frame);                    });                    break;                case error.POSITION_UNAVAILABLE:                    console.log("亲爱的火星网友,非常抱歉,我们暂时无法为您所在的星球提供位置服务");                    break;            }        }</script>    <style type="text/css">        body,div,h3,h4,li,ol{margin:0;padding:0}        body{font:14px/1.5 'Microsoft YaHei','微软雅黑',Helvetica,Sans-serif;min-width:1200px;background:#f0f1f3;}        :focus{outline:0}        h3,h4,strong{font-weight:700}        a{color:#428bca;text-decoration:none}        a:hover{text-decoration:underline}        .error-page{background:#f0f1f3;padding:80px 0 180px}        .error-page-container{position:relative;z-index:1}        .error-page-main{position:relative;background:#f9f9f9;margin:0 auto;width:617px;-ms-box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:50px 50px 70px}</style></head><body id="body"><div class="error-page">    <h3>        <div class="error-page-container">            <div class="error-page-main">                <strong>404</strong>很抱歉,您要访问的页面不存在!            </div>        </div>    </h3></div></div></div></body></html>
发布了117 篇原创文章 · 获赞 41 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/pangzhaowen/article/details/102912453