dnsprobe
dnsprobe copied to clipboard
DNSProb 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.
Note - This project is discontinued. New updates and fixes will be pushed to dnsx.
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
- Resources
- Features
- Usage
- Installation Instructions
- From Source
- Running in a Docker Container
- Querying host for A record
- Querying host for CNAME record
- Querying CNAME records on the Subfinder output
- License
Features
- 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 | 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 | dnsprobe -f json |
| -o | Output file (optional) | dnsprobe -o result.txt |
Installation Instructions
From Source
dnsprobe requires go1.13+ to install successfully. Run the following command to get the repo -
GO111MODULE=on go get -v github.com/projectdiscovery/dnsprobe
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.