ReconX

1. What It Does
ReconX: Domain Reconnaissance Spyglass is a powerful tool designed for performing domain reconnaissance on the internet. It gathers a wealth of information about a specified domain, including:

Subdomain Detection: Checks common subdomains such as www, mail, blog, etc., and reports any active subdomains.
Port Scanning: Scans common ports (e.g., 80 for HTTP and 443 for HTTPS) on the domain’s IP address to check for open services.
SSL Certificate Analysis: Retrieves the SSL certificate for the domain and extracts any Subject Alternative Names (SANs), which may include other associated domains or subdomains covered by the certificate.
User-Friendly Interface: Provides easy interaction through prompts and results, with an option to save the output to a text file.

2. How It Works
The ReconX tool works by gathering information from a domain through a series of checks:

Subdomain Detection:

The tool attempts to resolve common subdomains like www, mail, blog, and others for the provided domain. If a subdomain is active, it is recorded in the results.
Port Scanning:

Using the domain's IP address (resolved through DNS), the tool checks for open ports, specifically ports 80 (HTTP) and 443 (HTTPS), to see if the website is accessible via standard web protocols.
SSL Certificate Analysis:

A secure connection to the domain is established on port 443 (HTTPS) to fetch the SSL certificate. The tool then checks for Subject Alternative Names (SAN), which can list other domains or subdomains that share the same certificate.
Saving Results:

After gathering all the data, the tool offers the option to save the collected information into a file, allowing you to retain the data for future analysis.

3. How to Use
Step 1: Install the required dependencies
Before running ReconX, you need to ensure that the required Python packages are installed. Open your terminal or command prompt and install the necessary packages:

pip install dnspython

Step 2: Run the script
To start ReconX, simply run the Python script:

python reconx.py
Step 3: Enter the domain
The script will prompt you to enter a domain name (e.g., example.com) to begin the reconnaissance process.

Step 4: View the results
The script will perform checks for subdomains, open ports, and SSL certificate details for the domain. It will then display the results in the terminal window.

Step 5: Save the results (optional)
After displaying the results, ReconX will prompt you to save the data to a file. You can either choose to save it to a file or simply review the output in the terminal.

To save, type y when prompted, and provide a file name (e.g., output.txt).
To skip saving, type n.

4. Requirements
Python 3.x: The tool requires Python 3 to run. You can download and install the latest version of Python from https://www.python.org/downloads/.

Dependencies:

dnspython: This library is used for DNS resolution to check subdomains.
socket: A built-in Python library used for network communication (e.g., port scanning).
ssl: A built-in Python library used for SSL/TLS connections and certificate retrieval.
To install the required dependency, run the following command:

pip install dnspython
