Skip to content

A Python-based reconnaissance tool offering both CLI and GUI interfaces for performing information gathering on domains. Features include WHOIS lookup, DNS enumeration, subdomain discovery, port scanning, banner grabbing, and technology detection.

License

Notifications You must be signed in to change notification settings

mtalhattari/recon-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔎 Recon Tool

A powerful and modular reconnaissance tool built with Python and Tkinter GUI, designed for information gathering on a target domain. It supports WHOIS lookup, DNS enumeration, subdomain enumeration, port scanning, banner grabbing, and technology detection.


📌 Features

  • ✅ WHOIS Lookup
  • ✅ DNS Enumeration
  • ✅ Subdomain Enumeration
  • ✅ Port Scanning
  • ✅ Banner Grabbing
  • ✅ Technology Detection
  • ✅ GUI and CLI support
  • ✅ Generates detailed reports in the reports/ folder

🛠️ Installation

git clone https://github.com/yourusername/recon_tool.git
cd recon_tool

Create a virtual environment and install dependencies:

python3 -m venv myenv
source myenv/bin/activate
pip install -r requirements.txt

🚀 Usage

▶ CLI Mode

python recon.py <domain> [options]
Option Description
--whois Perform WHOIS lookup
--dns Perform DNS enumeration
--subdomains Enumerate subdomains
--ports Scan common ports
--banners Grab service banners (needs --ports)
--tech Detect technologies
--verbose Enable verbose logging
--debug Enable debug logging

Example:

python recon.py facebook.com --whois --dns --ports --banners

🖥️ GUI Mode

python gui.py
  1. Enter the target domain.
  2. Select which recon features you want to run.
  3. Click on ▶ Run Recon.
  4. Output will be shown in the console, and a report will be saved in the reports/ folder.

📁 Project Structure

recon_tool/
│
├── recon.py               # CLI interface
├── gui.py                 # GUI interface
├── requirements.txt       # Python dependencies
├── README.md              # Project documentation
├── modules/               # Recon modules
│   ├── whois_lookup.py
│   ├── dns_enum.py
│   ├── subdomain_enum.py
│   ├── port_scan.py
│   ├── banner_grab.py
│   └── tech_detect.py
├── reports/               # Saved recon reports
└── logs/                 

📄 Sample Output

GUI Preview:

image

Sample Report Output:

--- WHOIS ---
Registrar: XYZ Inc.
Creation Date: 2000-10-10
...

--- DNS ---
A: 93.184.216.34  
MX: mail.example.com  
...

--- Open Ports ---
22, 80, 443

--- Banners ---
22: OpenSSH 7.4  
80: Apache 2.4.29  

--- Technologies ---
CMS: WordPress  
JS Framework: jQuery  
...

📑 License

This project is licensed under the MIT License — feel free to use, modify, and share!

🙌 Acknowledgements

Built with 💻 and ☕ by Muhammad Talha Attari.

About

A Python-based reconnaissance tool offering both CLI and GUI interfaces for performing information gathering on domains. Features include WHOIS lookup, DNS enumeration, subdomain discovery, port scanning, banner grabbing, and technology detection.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages