Skip to content

volksgeistt/webscanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

DISCLAIMER

The Advanced Website Information Scanner is for educational purposes only. The developer is not responsible for any misuse or legal consequences resulting from unauthorized scanning. Always obtain proper authorization before scanning any website or network. ⚠️ The Tool Might Get Error In Between - That's Becuase It's Not The Final Version.

Website Information Scanner

The Website Information Scanner is a comprehensive tool designed to extract and analyze detailed information about websites and domains. It is particularly useful for security professionals, web developers, and anyone interested in understanding the structure, security, and technologies behind a website. This tool combines multiple functionalities into one package, allowing users to perform a variety of checks with ease.

Key Features

  • Website Information Extraction: Analyze the content, metadata, and structure of a website to understand its purpose and functionality.
  • Domain Information Retrieval: Obtain WHOIS and DNS information for domains, including registration details and name server configurations.
  • SSL/TLS Certificate Analysis: Validate SSL certificates, check their expiration dates, and assess their security configurations.
  • Port Scanning: Identify open ports on the target host, which can reveal potential vulnerabilities or services running on the server.
  • Security Vulnerability Checks: Perform checks for common security issues, such as HTTP to HTTPS redirection, server information disclosure, and more.
  • Network Traceroute: Visualize the path that packets take to reach the target, helping to diagnose network issues.

Installation

To use the Website Information Scanner, you need to have Python 3.x installed on your system. Follow these steps to install the tool:

  1. Clone the Repository:
git clone https://github.com/volksgeistt/webscanner
cd webscanner
  1. Install Required Dependencies: Use pip to install the necessary libraries:
pip install -r requirements.txt
  1. Verify Installation: Ensure that the installation was successful by running:
python scanner.py --help

Usage

Command-Line Interface ( CLI )

You can run the scanner from the command line using the following syntax:

python scanner.py <url> [options]

Arguments

  • <url>: The target URL or domain to scan (e.g., http://example.com).
  • --output, -o: Specify the output file for the report (e.g., report.json). This allows you to save the results for later review.
  • --format, -f: Set the output format (default: json). Supported formats include: json: A structured format that is easy to read and parse.
  • --port-scan, -p: Enable port scanning to identify open ports on the target host.
  • --security-check, -s: Enable security vulnerability checks to identify potential security issues.
  • --traceroute, -t: Enable network traceroute to visualize the path packets take to reach the target.
  • --verbose, -v: Enable verbose output for detailed logging, which can help in debugging and understanding the scan process.
  • --log-file, -l: Specify a log file path for logging output, allowing you to keep a record of the scan.
  • --all, -a: Enable all scanning features, including website info, domain info, SSL, port scan, security check, and traceroute.
  • --timeout: Set the request timeout in seconds (default: 15). This controls how long the scanner will wait for a response before timing out.

Example Commands

  1. Basic Website Scan: To perform a basic scan on a website, use:
python scanner.py http://example.com

This command will analyze the website and provide information about its content and structure.

  1. Scan with Port Scanning and Security Checks: To enable port scanning and security checks, run:
python scanner.py http://example.com --port-scan --security-check

This command will check for open ports and identify any potential security vulnerabilities.

  1. Full Scan with Output Report: To perform a comprehensive scan and save the results to a file, use:
python scanner.py http://example.com --all --output report.json

This command will gather all available information and save it in a JSON file for easy access.

  1. Verbose Logging: To enable detailed logging during the scan, run:
python scanner.py http://example.com --verbose

This will provide additional output in the console, which can be useful for troubleshooting.

Output

The scanner generates a comprehensive report containing all the gathered information. The report includes:

  • Website Information: Details such as the title, meta description, and the number of various page elements (links, images, scripts, etc.).
  • Domain Information: WHOIS data including registrar, creation date, expiration date, and name servers.
  • SSL Certificate Details: Information about the SSL certificate, including issuer, validity period, and security status.
  • Open Ports: A list of open ports and their associated services.
  • Security Vulnerabilities: A summary of any identified security issues, along with warnings and passed tests.
  • Traceroute Results: A visualization of the network path taken to reach the target.

Example JSON Output

Here’s a sample of what the JSON output might look like:

{
    "scan_metadata": {
        "target": "http://example.com",
        "domain": "example.com",
        "scan_time": "2023-10-01 12:00:00",
        "scanner_version": "2.0"
    },
    "website_info": {
        "title": "Example Domain",
        "meta_description": "This domain is for use in illustrative examples.",
        "page_elements": {
            "links": 15,
            "images": 5,
            "scripts": 10,
            "stylesheets": 3
        }
    },
    "domain_info": {
        "whois": {
            "registrar": "Example Registrar",
            "creation_date": "2020-01-01",
            "expiration_date": "2025-01-01",
            "name_servers": ["ns1.example.com", "ns2.example.com"]
        }
    },
    "ssl_info": {
        "issuer": "Let's Encrypt",
        "valid_until": "2025-01-01",
        "status": "Valid"
    },
    "port_scan": {
        "open_ports": {
            "80": {
                "status": "open",
                "service": "http"
            },
            "443": {
                "status": "open",
                "service": "https"
            }
        }
    },
    "security_check": {
        "vulnerabilities": [],
        "warnings": [],
        "passed_tests": [
            {
                "name": "HTTPS Availability",
                "details": "HTTPS is properly configured"
            }
        ]
    },
    "traceroute": {
        "hops": [
            {
                "hop": 1,
                "ip": "192.168.1.1",
                "rtt": 10.5
            },
            {
                "hop": 2,
                "ip": "203.0.113.1",
                "rtt": 20.3
            }
        ]
    }
}

Acknowledgments

  • Requests: For handling HTTP requests and responses.
  • BeautifulSoup: For parsing HTML and extracting data.
  • Whois: For retrieving WHOIS information about domains.
  • Colorama: For adding colored output to the terminal for better readability.

About

comprehensive tool designed to extract and analyze detailed information about websites and domains

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages