A powerful DNS reconnaissance and enumeration tool designed for security researchers, penetration testers, and system administrators. DNScope helps you discover and map DNS records, subdomains, and network infrastructure.
- DNS Enumeration: Perform comprehensive DNS record enumeration
- Subdomain Discovery: Identify subdomains associated with target domains
- Zone Transfer Detection: Test for vulnerable DNS zone transfers
- Reverse DNS Lookup: Map IP addresses to domain names
- DNS Brute Force: Brute force common subdomains
- SOA Record Analysis: Extract and analyze SOA records
- MX Record Enumeration: Discover mail server configurations
- NS Record Discovery: Identify authoritative nameservers
- TXT Record Analysis: Retrieve and parse TXT records
- SRV Record Enumeration: Discover service records
- Fast & Efficient: Optimized for speed and minimal resource usage
- Multiple Output Formats: Support for JSON, CSV, and text output
- Customizable Wordlists: Use built-in or custom wordlists for brute forcing
- Proxy Support: Route requests through proxies if needed
- Error Handling: Robust error handling and logging
- Python 3.8 or higher
- pip (Python package manager)
- Git
-
Download and Install Python
- Download Python from python.org
- During installation, make sure to check "Add Python to PATH"
- Click "Install Now"
-
Clone the Repository
git clone https://github.com/mrdineshpathro-dot/DNScope.git cd DNScope -
Create a Virtual Environment (Recommended)
python -m venv venv venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Verify Installation
python dnscope.py --help
- Kali Linux (any recent version)
- Python 3.8+
- pip3
-
Update System Packages
sudo apt update sudo apt upgrade -y
-
Install Python and Dependencies
sudo apt install -y python3 python3-pip python3-venv git
-
Clone the Repository
git clone https://github.com/mrdineshpathro-dot/DNScope.git cd DNScope -
Create a Virtual Environment
python3 -m venv venv source venv/bin/activate -
Install Python Requirements
pip3 install -r requirements.txt
-
Make Script Executable (Optional)
chmod +x dnscope.py
-
Verify Installation
python3 dnscope.py --help
- Ubuntu 18.04+ or Debian 10+
- Python 3.8+
- pip3
-
Update Package Lists
sudo apt update sudo apt upgrade -y
-
Install Required Packages
sudo apt install -y python3 python3-pip python3-venv git build-essential
-
Clone the Repository
git clone https://github.com/mrdineshpathro-dot/DNScope.git cd DNScope -
Set Up Virtual Environment
python3 -m venv venv source venv/bin/activate -
Install Dependencies
pip3 install -r requirements.txt
-
Make Script Executable
chmod +x dnscope.py
-
Verify Installation
python3 dnscope.py --help
python dnscope.py -d example.compython dnscope.py -d example.com --subdomainspython dnscope.py -d example.com --brute-forcepython dnscope.py -d example.com --wordlist custom_wordlist.txtpython dnscope.py -d example.com --zone-transferpython dnscope.py --reverse-lookup 8.8.8.8python dnscope.py -d example.com --output results.json --format jsonpython dnscope.py -d example.com --output results.csv --format csvpython dnscope.py -d example.com --record-types A,MX,NS,TXT,SRVpython dnscope.py -d example.com --brute-force --threads 50python dnscope.py -d example.com --proxy http://proxy.example.com:8080usage: dnscope.py [-h] [-d DOMAIN] [-w WORDLIST] [-o OUTPUT] [-f FORMAT]
[--subdomains] [--brute-force] [--zone-transfer]
[--reverse-lookup IP] [--threads THREADS]
[--record-types TYPES] [--proxy PROXY] [--timeout TIMEOUT]
options:
-h, --help Show help message
-d, --domain DOMAIN Target domain to enumerate
-w, --wordlist WORDLIST Custom wordlist for brute forcing
-o, --output OUTPUT Output file path
-f, --format FORMAT Output format (json, csv, txt)
--subdomains Enumerate subdomains
--brute-force Perform DNS brute forcing
--zone-transfer Attempt DNS zone transfer
--reverse-lookup IP Perform reverse DNS lookup
--threads THREADS Number of threads (default: 10)
--record-types TYPES Comma-separated record types (A,MX,NS,TXT,SRV)
--proxy PROXY Proxy URL for requests
--timeout TIMEOUT Request timeout in seconds (default: 5)
python dnscope.py -d example.com --subdomains --brute-force --threads 50 -o results.json --format jsonpython dnscope.py -d example.com --record-types A,AAAA,MX,NS,TXT,SOA,SRV --output assessment.txt --format txtpython dnscope.py -d example.com- Python 3.8 or higher
- dnspython
- requests
- colorama (for colored output)
- argparse (built-in)
Install all requirements:
pip install -r requirements.txtDNScope is intended for authorized security testing and educational purposes only. Users are responsible for obtaining proper authorization before performing any security assessments. Unauthorized access to computer networks is illegal. Always follow applicable laws and regulations.
Contributions are welcome! Please feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Dinesh Pathro
- GitHub: @mrdineshpathro-dot
- Built with Python and DNS libraries
- Inspired by popular DNS enumeration tools
- Thanks to the security community
For issues, questions, or suggestions, please open an issue on the GitHub Issues page.
Last Updated: September 2026