dnsenum,了解一下

介绍

域名信息收集,能够通过google或者字典文件猜测可能存在的域名信息,并对网段进行反向查询,
可以查询到主机信息、域名服务器、邮件交换记录
还可以在域名服务器执行axfr请求
通过谷歌脚本得到扩展自域名并查询,计算出c类地址
执行whois查询和反向查询,把地址段写入到文件中

使用说明

Smartmatch is experimental at /usr/bin/dnsenum line 698.
Smartmatch is experimental at /usr/bin/dnsenum line 698.
dnsenum VERSION:1.2.4
Usage: dnsenum [Options]  
[Options]:
Note: the brute force -f switch is obligatory. # 暴力开关
GENERAL OPTIONS:
  --dnsserver   
            Use this DNS server for A, NS and MX queries.#使用域名可以查到  ip、域名服务器、邮件服务器
  --enum        Shortcut option equivalent to --threads 5 -s 15 -w.    #默认是5个线程
  -h, --help        Print this help message.
  --noreverse       Skip the reverse lookup operations. #调过服务器反向查找  
  --nocolor     Disable ANSIColor output.
  --private     Show and save private ips at the end of the file domain_ips.txt.   # 保存到这个文件
  --subfile   Write all valid subdomains to this file.  # 将有效的子域名写到该文件
  -t, --timeout  The tcp and udp timeout values in seconds (default: 10s). #超时
  --threads  The number of threads that will perform different queries.  #使用多少个线程
  -v, --verbose     Be verbose: show all the progress and all the error messages. # 显示所有进程和详细信息
GOOGLE SCRAPING OPTIONS:
  -p, --pages    The number of google search pages to process when scraping names,  #谷歌的搜索页面数量
            the default is 5 pages, the -s switch must be specified. #必须指定页数
  -s, --scrap    The maximum number of subdomains that will be scraped from Google (default 15). # 在谷歌上进行二级域名搜索
BRUTE FORCE OPTIONS:#残忍的力量,就是暴力,哈哈。。。    #暴力选项
  -f, --file  Read subdomains from this file to perform brute force. #指定一个文件进行暴力破解
  -u, --update  
            Update the file specified with the -f switch with valid subdomains. #指定 有效的二级域名
    a (all)     Update using all results. # 所有
    g       Update using only google scraping results.# google
    r       Update using only reverse lookup results.# 只有反向查找结果
    z       Update using only zone transfer results.#区域传输 
  -r, --recursion   
  Recursion on subdomains, brute force all discovred subdomains that have an NS record. #使用域名服务器暴力查找二级域名
WHOIS NET RANGE OPTIONS: #域名查询网络范围
  -d, --delay    The maximum value of seconds to wait between whois queries, the value is defined randomly, default: 3s.
  #定义延期时间,不能是随机的,默认的是3秒
  -w, --whois       Perform the whois queries on c class network ranges. #c类网络范围
             **Warning**: this can generate(产生) very large net ranges and it will take lot of time to performer(执行) reverse lookups.
REVERSE LOOKUP OPTIONS:
  -e, --exclude  正则
            Exclude排除 PTR records that match the regexp expression from reverse lookup results, useful on invalid无效 hostnames.
            #从反向查找的结果中使用正则排除无效的主机名
OUTPUT OPTIONS:
  -o --output     Output in XML format. Can be imported in MagicTree (www.gremwell.com)#使用xml格式化输出

用法

dnsenum -enum    xxx.com

返回结果


Host's addresses: #主机地址

Name Servers: #域名服务器

Mail (MX) Servers: #邮件服务器

Trying Zone Transfers and getting BIND Versions: #尝试在区域传输得到BIND版本信息

rying Zone Transfer for   xxx.com on xxx.com ... 
AXFR record query failed: no socket TCP[xxx.xxx.xxx.xxx] Connection timed out

拓展


https://blog.csdn.net/zzqhost/article/details/71403785

A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。
就是说:将不同域名转到不同的IP上去


MX记录(Mail Exchange):邮件交换记录
说明:用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操作控制所有的邮箱设置。


NS(Name Server)记录是域名服务器记录
用来指定该域名由哪个DNS服务器来进行解析,可以把一个域名的不同二级域名分别指向到不同的DNS系统来解析。


PTR记录,是电子邮件系统中的邮件交换记录的一种;另一种邮件交换记录是A记录(在IPv4协议中)或AAAA记录(在IPv6协议中)。PTR记录常被用于反向地址解析。


正向查找:是指将域名解析为IP地址的过程。也就是说,当用户输入一个服务器域名时,借助于该记录可以将域名解析为IP地址,从而实现对服务器的访问。


反向查找:是指在大部分的 DNS 搜索中,客户机一般执行正向搜索。
DNS 同时提供反向搜索,允许客户机根据一台计算机的IP 地址搜索它的DNS名称。
反向搜索的域名信息保存在反向搜索区域中,为进行反向搜索,需要在DNS服务器中创建反向搜索区域。


https://en.wikipedia.org/wiki/DNS_zone_transfer

DNS区域传输(有时也称为诱导DNS查询类型AXFR)是一种DNS 事务。它是管理员可以在一组DNS服务器之间复制 DNS数据库的众多机制之一,
区域传输使用传输控制协议(TCP)进行传输,并采用客户端 - 服务器事务的形式。请求区域传输的客户端可以是从服务器或辅助服务器,从主服务器(有时称为主服务器)请求数据。复制的数据库部分是区域。

我猜是主从dns服务器使用tcp进行复制

区域传输包括前导码,然后是实际数据传输。序言包括查找权限开始(SOA)“区域顶点”的资源记录,位于“区域”顶部的DNS命名空间的节点。此SOA资源记录的字段,特别是“序列号”,确定是否需要进行实际的数据传输。客户端将SOA资源记录的序列号与其拥有的该资源记录的最后一个副本中的序列号进行比较。如果正在传输的记录的序列号较大,则区域中的数据被认为已经“改变”(以某种方式),并且从属设备继续请求实际的区域数据传输。如果序列号相同,则区域中的数据被视为没有“更改”,并且客户端可以继续使用它已有的数据库的副本(如果有的话)。

实际数据传输过程开始于客户端通过TCP连接向服务器发送具有特殊查询类型AXFR(值252)的查询(操作码0)。服务器响应一系列响应消息,包括“区域”中每个域名的所有资源记录。第一个响应包括区域顶点的SOA资源记录。其他数据没有按指定顺序排列。服务器重复发送包含区域顶点的SOA资源记录的响应,从而发出数据结束信号。

某些区域传输客户端使用其系统的常规DNS查询解析机制执行前导码的SOA查找。这些客户端在确定需要执行实际数据传输之前不会打开与服务器的TCP连接。但是,由于TCP可用于正常的DNS事务以及​​区域传输,因此其他区域传输客户端在同一TCP连接上执行SOA查找前导码,然后(可能)执行实际数据传输。这些客户端在执行前导码之前打开与服务器的TCP连接。

前面描述了完整的区域传输。增量区域转移在以下方面与完全区域转移不同:

客户端使用特殊的QTYPE IXFR(值251)而不是AXFR QTYPE。
客户端在IXFR消息中发送它当前具有的区域顶点的SOA资源记录(如果有的话),让服务器知道它认为哪个版本的“区域”是当前的。
虽然服务器可以以正常的AXFR方式响应区域的完整数据,但它也可以用“增量”数据传输进行响应。后者包括区域数据的更改列表,区域序列号顺序,客户端报告给服务器的区域版本与服务器当前区域的版本之间的区域数据。这些更改包含两个列表,一个是已删除的资源记录,另一个是插入的资源记录。(对资源记录的修改表示为删除后插入。)
区域传输完全由客户端启动。虽然只要对区域数据进行了更改,服务器就可以向客户端发送NOTIFY消息(他们已被告知),区域传输的调度完全在客户端的控制之下。客户端最初在其数据库为空时安排区域传输,之后以固定间隔安排区域传输,其模式由区域顶点的SOA资源记录中的“刷新”,“重试”和“过期”字段控制。


whois(读作“Who is”,非缩写)是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。早期的whois查询多以命令列接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令列接口的工具仍然被系统管理员广泛使用。whois通常使用TCP协议43端口。每个域名/IP的whois信息由对应的管理机构保存。


AXFR request ,AXFR请求,是从DNS服务器请求在主DNS服务器上更新信息的一类域名系统的请求。

AXFR请求经常导致全区域传输。如果区域文件很大的话,它需要花费很多的时间并消耗可观的带宽。
AXFR的一个可替代选择是RFC1995中描述的增量区域传输协议。增量区域传输使用IXFR请求仅传输那些被改变的区域文件。
运行Microsoft Windows 2000及Windows .NET Server的DNS服务支持增量区域传输。


BIND(Berkeley Internet Name Domain)是Unix系统最常用的DNS服务器
用于创建和管理DNS域的Webmin模块
因为BIND几乎适​​用于所有Unix系统,并且无论操作系统如何都能以相同的方式工作




现在用到了才知道网络协议和英语的重要,
工具的原理都是网络的,
说明都是英文的
有的写的还不是好,比如bind 应该是BIND 造成误解(哈哈,个人问题)

先了解原理,源码解析,下回分解

你可能感兴趣的:(dnsenum,了解一下)