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 deeprecon
git clone https://github.com/DeepPythonist/DeepRecon.git
cd DeepRecon
pip install -e .
DeepRecon automatically installs these required packages:
requests
- HTTP client librarydnspython
- DNS toolkitpython-whois
- WHOIS clientipwhois
- IP WHOIS clientpyOpenSSL
- SSL/TLS toolkitbeautifulsoup4
- HTML parserlxml
- XML/HTML parserpsutil
- System and network monitoringnetifaces
- Network interface managementspeedtest-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 network
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")
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.json
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')
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