Skip to content
dnsenum is a perl script that enumerates DNS information
Branch: master
Clone or download
fwaeytens Merge pull request #4 from srcq/master
Fix the previous diff for the case when the answer is a CNAME
Latest commit e3336c5 Feb 20, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
INSTALL.txt removed line Jan 24, 2014 Update May 23, 2014
dns.txt dns dictionary Jan 10, 2014 Fix the previous diff for the case when the answer is a CNAME Feb 20, 2015


multithreaded perl script to enumerate DNS information of a domain and to discover non-contiguous ip blocks.


1) Get the host's addresse (A record).

2) Get the namservers (threaded).

3) Get the MX record (threaded).

4) Perform axfr queries on nameservers and get BIND VERSION (threaded).

5) Get extra names and subdomains via google scraping
   (google query = "allinurl: -www site:domain").

6) Brute force subdomains from file, can also perform recursion
   on subdomain that have NS records (all threaded).

7) Calculate C class domain network ranges and perform whois
   queries on them (threaded).

8) Perform reverse lookups on netranges
   ( C class or/and whois netranges) (threaded).

9) Write to domain_ips.txt file ip-blocks.

Changelog from version 1.2.2

  • Fixed GoogleScraping
  • Fixed wildcard issues
  • Changed output function to get rid of errors with new Net::DNS version
  • A bit of cleanup here and there
  • Removed Bind Version detection


Modules that are included in perl 5.10.0: Getopt::Long IO::File Thread::Queue

Other Necessary modules: Must have: Net::IP Net::DNS Net::Netmask Optional: Net::Whois::IP HTML::Parser WWW::Mechanize XML::Writer

To install a module, simply run (as root):

perl -MCPAN -e shell

and then type: install eg: cpan[1]> install XML::Writer

Perl ithreads support: perl version must be compliled with ithreads support. threads threads::shared

OPTIONS: run "perldoc".

Special thanks to all Perl developers.

Filip Waeytens <filip.waeytens[at]> tix tixxDZ <tixxdz[at]>

You can’t perform that action at this time.