Skip to content

DeepPythonist/DeepRecon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” DeepRecon

DeepRecon Logo

Python Version License PyPI Version Downloads GitHub Stars

A powerful, modular Python library for comprehensive domain and IP analysis

πŸš€ Installation β€’ πŸ“– Documentation β€’ πŸ’‘ Examples β€’ 🀝 Contributing


✨ Features

DeepRecon provides a comprehensive suite of tools for analyzing domains and IP addresses with ease:

🎯 Core Analysis

  • DNS Resolution: Convert domains to IPs and vice versa
  • DNS Records: Fetch A, AAAA, MX, NS, TXT, CNAME, SOA records
  • WHOIS Information: Domain registration details and IP ownership
  • Geolocation: IP-based geographical information with ISP details

πŸ”’ Security Analysis

  • SSL/TLS Certificates: Certificate validation, expiry checking, and grading
  • Security Headers: HSTS, CSP, X-Frame-Options analysis
  • WAF Detection: Identify Web Application Firewalls
  • Blacklist Checking: Multi-provider blacklist verification

🌐 Connectivity & Performance

  • Availability Testing: Ping, HTTP status, response time measurement
  • Port Scanning: TCP port connectivity testing
  • Traceroute: Network path analysis
  • Response Analysis: HTTP headers and redirect chain tracking

πŸ’» Technology Detection

  • Web Technologies: CMS, frameworks, analytics tools detection
  • Server Identification: Web server and proxy detection
  • Meta Information: Page titles, meta tags extraction

🌐 Network Analysis

  • Interface Discovery: Network interface monitoring and analysis
  • Device Scanning: Local network device identification
  • Port Scanning: Advanced multi-threaded port scanning
  • Performance Metrics: Network speed and latency analysis
  • Security Assessment: Network vulnerability scanning
  • Topology Mapping: Network structure visualization

🌍 Multi-language Support

  • English and Persian (فارسی) interface
  • Internationalization: Easy to extend for more languages

πŸ“Š Flexible Output

  • JSON: Machine-readable structured data
  • CSV: Spreadsheet-compatible format
  • Pretty Print: Human-readable console output
  • CLI Interface: Command-line tool with rich options

πŸš€ Installation

Using pip (Recommended)

pip install deeprecon

From source

git clone https://github.com/DeepPythonist/DeepRecon.git
cd DeepRecon
pip install -e .

Dependencies

DeepRecon automatically installs these required packages:

  • requests - HTTP client library
  • dnspython - DNS toolkit
  • python-whois - WHOIS client
  • ipwhois - IP WHOIS client
  • pyOpenSSL - SSL/TLS toolkit
  • beautifulsoup4 - HTML parser
  • lxml - XML/HTML parser
  • psutil - System and network monitoring
  • netifaces - Network interface management
  • speedtest-cli - Network speed testing

πŸ’‘ Quick Start

CLI Usage

# Analyze a domain with all modules
deeprecon google.com

# Specific analysis modules
deeprecon github.com --modules resolve dns ssl

# Include network analysis
deeprecon example.com --modules resolve dns network

# Output in JSON format
deeprecon example.com --output json

# Save results to file
deeprecon stackoverflow.com --file results.json

# Use Persian language
deeprecon google.com --language fa

# Quiet mode (results only)
deeprecon google.com --quiet

# Network analysis only
deeprecon --modules network

Python API Usage

from deeprecon import resolve, dns, geoip, ssl, network

# Basic domain to IP resolution
ip = resolve.get_ip('google.com')
print(f"Google IP: {ip}")

# Get all DNS records
dns_records = dns.get_dns_records('github.com')
print(f"DNS Records: {dns_records}")

# IP geolocation
location = geoip.geoip('8.8.8.8')
print(f"Location: {location['city']}, {location['country']}")

# SSL certificate information
ssl_info = ssl.get_ssl_info('github.com')
print(f"SSL Issuer: {ssl_info['issuer']['organizationName']}")

# Network analysis
interfaces = network.get_network_interfaces()
print(f"Network Interfaces: {list(interfaces.keys())}")

# Scan network devices
devices = network.scan_network_devices()
print(f"Found {len(devices)} devices on network")

πŸ“– Documentation

Command Line Interface

Basic Syntax

deeprecon <target> [options]

Options

  • --modules, -m: Specify analysis modules
    • Available: resolve, dns, whois, geoip, ssl, availability, security, tech, network
  • --output, -o: Output format (json, csv, pretty)
  • --file, -f: Save output to file
  • --language, -l: Interface language (en, fa)
  • --quiet, -q: Quiet mode

Examples

# Domain analysis
deeprecon example.com

# IP analysis  
deeprecon 8.8.8.8

# Custom modules
deeprecon google.com -m resolve dns ssl

# Network analysis
deeprecon -m network

# Combined analysis
deeprecon example.com -m resolve dns network

# JSON output to file
deeprecon github.com -o json -f analysis.json

Python API Reference

Resolve Module

from deeprecon.resolve import get_ip, get_ips, get_domain, resolve_all

# Convert domain to IP
ip = get_ip('example.com')

# Get all IPs for domain
ips = get_ips('example.com')

# Reverse DNS lookup
domain = get_domain('8.8.8.8')

# Complete resolution analysis
result = resolve_all('example.com')

DNS Module

from deeprecon.dns import get_dns_records, get_ns_records, get_mx_records

# Get all DNS records
records = get_dns_records('example.com')

# Get name servers
nameservers = get_ns_records('example.com')

# Get MX records
mx_records = get_mx_records('example.com')

GeoIP Module

from deeprecon.geoip import geoip, get_country, get_asn

# Complete geolocation data
geo_data = geoip('8.8.8.8')

# Get specific information
country = get_country('8.8.8.8')
asn = get_asn('8.8.8.8')

SSL Module

from deeprecon.ssl import get_ssl_info, check_ssl_validity, ssl_grade

# Get SSL certificate information
ssl_data = get_ssl_info('example.com')

# Check if certificate is valid
is_valid = check_ssl_validity('example.com')

# Get SSL grade
grade = ssl_grade('example.com')

Security Module

from deeprecon.security import is_filtered, has_waf, get_security_score

# Check if domain/IP is filtered
filtered = is_filtered('example.com')

# Detect WAF protection
waf = has_waf('example.com')

# Get overall security score
score = get_security_score('example.com')

Network Module

from deeprecon.network import (
    get_network_interfaces, scan_network_devices,
    advanced_port_scan, network_performance, network_security_scan
)

# Get network interfaces
interfaces = get_network_interfaces()

# Scan network devices
devices = scan_network_devices('192.168.1.0/24')

# Advanced port scanning
ports = advanced_port_scan('192.168.1.1', '1-1000')

# Network performance analysis
performance = network_performance()

# Network security scan
security = network_security_scan()

πŸ—οΈ Architecture

DeepRecon follows a modular architecture:

deeprecon/
β”œβ”€β”€ config.py          # Configuration and constants
β”œβ”€β”€ resolve.py          # Domain ↔ IP resolution
β”œβ”€β”€ dns.py             # DNS record analysis
β”œβ”€β”€ whois.py           # WHOIS information
β”œβ”€β”€ geoip.py           # Geographic location
β”œβ”€β”€ ssl.py             # SSL/TLS analysis
β”œβ”€β”€ availability.py    # Connectivity testing
β”œβ”€β”€ security.py        # Security analysis
β”œβ”€β”€ tech_detect.py     # Technology detection
β”œβ”€β”€ network.py         # Network analysis and scanning
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ validator.py   # Input validation
β”‚   β”œβ”€β”€ formatter.py   # Output formatting
β”‚   └── network_utils.py # Network utility functions
└── locales/           # Internationalization
    β”œβ”€β”€ en.json
    └── fa.json

🎯 Use Cases

Security Research

  • Domain reconnaissance for penetration testing
  • SSL/TLS analysis for security audits
  • Blacklist monitoring for threat intelligence
  • WAF detection for security assessment

DevOps & Monitoring

  • Infrastructure monitoring with availability checks
  • DNS monitoring for domain management
  • Performance analysis with response time measurement
  • Certificate monitoring for SSL expiry tracking

Network Analysis

  • Network path analysis with traceroute
  • Port scanning for connectivity testing
  • Geolocation analysis for CDN optimization
  • Technology stack identification
  • Local network discovery and device mapping
  • Network performance monitoring and optimization
  • Network security assessment and vulnerability scanning

Research & Analytics

  • Domain analysis for market research
  • Technology trends analysis
  • Geographic distribution of services
  • Compliance checking for regulations

🀝 Contributing

We welcome contributions! Here's how you can help:

Development Setup

  1. Fork and clone the repository

    git clone https://github.com/DeepPythonist/DeepRecon.git
    cd DeepRecon
  2. Create a virtual environment

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    # or
    venv\Scripts\activate     # Windows
  3. Install dependencies

    pip install -r requirements.txt
    pip install -e .
  4. Run tests

    python -m pytest tests/

Contribution Guidelines

  • Code Style: Follow PEP 8 standards
  • Documentation: Update docstrings and README
  • Testing: Add tests for new features
  • Commits: Use clear, descriptive commit messages

Areas for Contribution

  • 🌐 Additional language support
  • πŸ”§ New analysis modules
  • πŸ“Š Enhanced output formats
  • πŸš€ Performance optimizations
  • 🌐 Extended network analysis features
  • πŸ”’ Advanced security scanning
  • πŸ› Bug fixes and improvements

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Mohammad Rasol Esfandiari


πŸ™ Acknowledgments

  • Thanks to all contributors who helped make this project better
  • Special thanks to the open-source community for the amazing libraries
  • Inspired by the need for comprehensive domain and IP analysis tools

⭐ Star History

If you find DeepRecon useful, please consider giving it a star on GitHub!

Star History Chart


Made with ❀️ by Mohammad Rasol Esfandiari

About

A powerful, modular Python library for comprehensive domain and IP analysis

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages