A powerful, modular Python library for comprehensive domain and IP analysis
π Installation β’ π Documentation β’ π‘ Examples β’ π€ Contributing
DeepRecon provides a comprehensive suite of tools for analyzing domains and IP addresses with ease:
- 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
- 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
- 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
- Web Technologies: CMS, frameworks, analytics tools detection
- Server Identification: Web server and proxy detection
- Meta Information: Page titles, meta tags extraction
- 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
- English and Persian (ΩΨ§Ψ±Ψ³Ϋ) interface
- Internationalization: Easy to extend for more languages
- JSON: Machine-readable structured data
- CSV: Spreadsheet-compatible format
- Pretty Print: Human-readable console output
- CLI Interface: Command-line tool with rich options
pip install deeprecongit clone https://github.com/DeepPythonist/DeepRecon.git
cd DeepRecon
pip install -e .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
# 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 networkfrom 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")deeprecon <target> [options]- --modules, -m: Specify analysis modules- Available: resolve,dns,whois,geoip,ssl,availability,security,tech,network
 
- Available: 
- --output, -o: Output format (- json,- csv,- pretty)
- --file, -f: Save output to file
- --language, -l: Interface language (- en,- fa)
- --quiet, -q: Quiet mode
# 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.jsonfrom 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')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')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')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')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')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()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
- Domain reconnaissance for penetration testing
- SSL/TLS analysis for security audits
- Blacklist monitoring for threat intelligence
- WAF detection for security assessment
- Infrastructure monitoring with availability checks
- DNS monitoring for domain management
- Performance analysis with response time measurement
- Certificate monitoring for SSL expiry tracking
- 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
- Domain analysis for market research
- Technology trends analysis
- Geographic distribution of services
- Compliance checking for regulations
We welcome contributions! Here's how you can help:
- 
Fork and clone the repository git clone https://github.com/DeepPythonist/DeepRecon.git cd DeepRecon
- 
Create a virtual environment python -m venv venv source venv/bin/activate # Linux/macOS # or venv\Scripts\activate # Windows 
- 
Install dependencies pip install -r requirements.txt pip install -e .
- 
Run tests python -m pytest tests/ 
- Code Style: Follow PEP 8 standards
- Documentation: Update docstrings and README
- Testing: Add tests for new features
- Commits: Use clear, descriptive commit messages
- π Additional language support
- π§ New analysis modules
- π Enhanced output formats
- π Performance optimizations
- π Extended network analysis features
- π Advanced security scanning
- π Bug fixes and improvements
This project is licensed under the MIT License - see the LICENSE file for details.
Mohammad Rasol Esfandiari
- GitHub: @DeepPythonist
- Email: mrasolesfandiari@gmail.com
- 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
If you find DeepRecon useful, please consider giving it a star on GitHub!
Made with β€οΈ by Mohammad Rasol Esfandiari