Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

dnsprobe

License Go Report Card contributions welcome

DNSProbe is a tool built on top of retryabledns that allows you to perform multiple dns queries of your choice with a list of user supplied resolvers.

Resources

Features

dnsprobe

  • Simple and Handy utility to query DNS records.

Usage

dnsprobe -h

This will display help for the tool. Here are all the switches it supports.

Flag Description Example
-c Max dns retries (default 1) dnsprobe -c 5
-l List of dns domains (optional) dnsprobe -l domains.txt
-r Request Type A, NS, CNAME, SOA, PTR, MX, TXT, AAAA (default "A") dnsprobe -r A
-s List of resolvers (optional) dnsprobe -s resolvers.txt
-t Number of concurrent requests to make (default 250) dnsprobe -t 500
-f Output type: ip, domain, response, simple (domain + ip, default), full (domain + response), json (domain + raw response) dnsprobe -f json
-o Output file (optional) dnsprobe -o result.txt
-raw Output the full response ignoring output type dnsprobe -raw
-silent Show only found results in output dnsprobe -silent

Installation Instructions

From Source

dnsprobe requires go1.13+ to install successfully. Run the following command to get the repo -

GO111MODULE=on go get -u -v github.com/projectdiscovery/dnsprobe

In order to update the tool, you can use -u flag with go get command.

Running in a Docker Container

  • Clone the repo using git clone https://github.com/projectdiscovery/dnsprobe.git
  • Build your docker container
> docker build -t projectdiscovery/dnsprobe .
  • After building the container using either way, run the following -
> docker run -it projectdiscovery/dnsprobe

For example, to query a list of domains for CNAME record and output the results to your host file system:

> cat domains.txt | docker run -i projectdiscovery/dnsprobe -r CNAME > bugcrowd.txt

Querying host for A record

To query a list of domains, you can pass the list via stdin (it also accepts full URLS, in this case the domain is extracted automatically).

> cat domains.txt | dnsprobe

root@test:~# cat bc.txt | dnsprobe
bounce.bugcrowd.com 192.28.152.174
blog.bugcrowd.com 104.20.4.239
blog.bugcrowd.com 104.20.5.239
www.bugcrowd.com 104.20.5.239
www.bugcrowd.com 104.20.4.239
events.bugcrowd.com 54.84.134.174

Querying host for CNAME record

> dnsprobe -l domains.txt -r CNAME

root@test:~# dnsprobe -l bc.txt -r CNAME
forum.bugcrowd.com bugcrowd.hosted-by-discourse.com.
collateral.bugcrowd.com bugcrowd.outrch.com.
go.bugcrowd.com mkto-ab270028.com.
ww2.bugcrowd.com bugcrowdinc.mktoweb.com.
researcherdocs.bugcrowd.com ssl.readmessl.com.
docs.bugcrowd.com ssl.readmessl.com.

This will run the tool against domains in domains.txt and returns the results. The tool uses the resolvers specified with -s option to perform the queries or default system resolvers.

Querying CNAME records on the Subfinder output

> subfinder -d bugcrowd.com -silent | dnsprobe -r cname

root@b0x:~# subfinder -d bugcrowd.com -silent | dnsprobe -r cname
forum.bugcrowd.com bugcrowd.hosted-by-discourse.com.
docs.bugcrowd.com ssl.readmessl.com.
go.bugcrowd.com mkto-ab270028.com.
ww2.bugcrowd.com bugcrowdinc.mktoweb.com.
researcherdocs.bugcrowd.com ssl.readmessl.com.
collateral.bugcrowd.com bugcrowd.outrch.com.
proxilate.bugcrowd.com proxilate.a.bugcrowd.com.

License

DNSProbe is made with 🖤 by the projectdiscovery team.

You can’t perform that action at this time.