Domain Analyzer 🔍
Ein umfassendes Python-Tool zur Analyse von Domains und Mailservern. Findet heraus, wer wirklich hinter einer Domain steckt!
Features
✅ DNS-Analyse: Alle wichtigen DNS-Records (A, AAAA, MX, NS, TXT, SOA, CAA, CNAME)
✅ WHOIS-Informationen: Automatische Erkennung von Subdomains und Prüfung der Hauptdomain
✅ IP-Analyse: Reverse DNS, ASN, Organisation, Geolocation
✅ Email-Sicherheit: SPF, DMARC, DKIM-Checks
✅ Port-Scanning: Erkennung offener Ports und Services
✅ SSL/TLS-Zertifikate: Aussteller, Gültigkeit, SANs
✅ HTTP-Analyse: Server-Informationen und Security-Headers
✅ Subdomain-Enumeration: Findet häufige Subdomains
✅ Multi-Domain-Support: Analysiere mehrere Domains gleichzeitig
✅ Inhaber-Identifikation: Klare Anzeige wer für die Domain verantwortlich ist
Installation
Arch Linux
# System-Pakete
sudo pacman -S whois
# Python-Pakete
pip install -r requirements.txt --break-system-packages
Debian/Ubuntu
# System-Pakete
sudo apt install whois
# Python-Pakete
pip install -r requirements.txt
Andere Systeme
# Python-Pakete
pip install dnspython requests
Verwendung
Einzelne Domain analysieren
python3 domain_analyzer.py example.com
Mehrere Domains analysieren
# Als Argumente
python3 domain_analyzer.py example.com google.com github.com
# Aus Datei (eine Domain pro Zeile)
python3 domain_analyzer.py -f domains.txt
# Mit Verzögerung zwischen Domains (empfohlen bei vielen Domains)
python3 domain_analyzer.py -f domains.txt --delay 2.0
Ergebnisse speichern
# Einzelne Domain als JSON
python3 domain_analyzer.py example.com -o result.json
# Mehrere Domains in separaten JSON-Dateien
python3 domain_analyzer.py -f domains.txt --output-dir results/
Weitere Optionen
# Ohne Farben (für Logs/Pipes)
python3 domain_analyzer.py example.com --no-color
# Hilfe anzeigen
python3 domain_analyzer.py --help
Domain-Datei Format
Erstelle eine Textdatei mit einer Domain pro Zeile:
example.com
google.com
github.com
# Kommentare werden ignoriert
subdomain.example.com
Beispiel-Output
================================================================================
DOMAIN ANALYSE: secure-tinyurl.com
================================================================================
[*] DNS Records
├─ A: 1 Record(s)
178.22.63.44
├─ MX: 2 Record(s)
10 mail.example.com
20 mail2.example.com
[*] WHOIS Information
├─ Registrant Organization: Awaretrain b.v.
├─ Registrant Country: NL
├─ Registrar: Hosting Concepts B.V.
├─ Creation Date: 2018-06-15
├─ Expiration Date: 2026-06-15
================================================================================
🔍 DOMAIN-INHABER
================================================================================
✓ Organisation: Awaretrain b.v.
├─ Land: NL
├─ Registrar: Hosting Concepts B.V.
[*] Email-Sicherheit
⚠ SPF: Nicht gefunden!
✓ DMARC: Vorhanden
✓ DKIM: default, google
[*] Port-Scan (häufige Ports)
✓ Port 80 (HTTP): OFFEN
✓ Port 443 (HTTPS): OFFEN
[*] SSL/TLS-Zertifikate
├─ Port 443: Zertifikat gefunden
Aussteller: Let's Encrypt
Gültig bis: 2025-02-15
================================================================================
📋 ZUSAMMENFASSUNG VERANTWORTLICHKEIT
================================================================================
✓ Domain-Inhaber: Awaretrain b.v.
├─ Registrar: Hosting Concepts B.V.
├─ Hosting: BIT BV
Besondere Features
Subdomain-Handling
Das Tool erkennt automatisch wenn eine Subdomain eingegeben wird und prüft die WHOIS-Informationen der Hauptdomain:
# Analysiert jtl-software.secure-tinyurl.com
# Prüft aber WHOIS von secure-tinyurl.com
python3 domain_analyzer.py jtl-software.secure-tinyurl.com
Umfassende Inhaber-Recherche
Das Tool kombiniert verschiedene Quellen um den Inhaber zu identifizieren:
- WHOIS-Daten (Registrant Organization/Name)
- ASN/IP-Informationen (Hosting-Provider)
- Nameserver-Besitzer
- SSL-Zertifikat-Informationen
JSON-Export
Alle Ergebnisse können als strukturiertes JSON exportiert werden für weitere Verarbeitung:
{
"domain": "example.com",
"timestamp": "2025-11-28T10:30:00",
"dns": {
"A": ["93.184.216.34"],
"MX": ["10 mail.example.com"]
},
"whois": {
"registrant_organization": ["Example Inc."],
"registrar": ["Example Registrar"]
},
"ips": [...],
"ports": {...},
"ssl_certificates": [...],
"email_security": {...}
}
Häufig gescannte Ports
Das Tool prüft folgende Ports:
| Port | Service |
|---|---|
| 21 | FTP |
| 22 | SSH |
| 25 | SMTP |
| 53 | DNS |
| 80 | HTTP |
| 110 | POP3 |
| 143 | IMAP |
| 443 | HTTPS |
| 465 | SMTPS |
| 587 | SMTP Submission |
| 993 | IMAPS |
| 995 | POP3S |
| 3306 | MySQL |
| 3389 | RDP |
| 5432 | PostgreSQL |
| 8080 | HTTP-Alt |
| 8443 | HTTPS-Alt |
Email-Sicherheits-Checks
SPF (Sender Policy Framework)
Prüft ob die Domain einen SPF-Record hat, der angibt welche Server berechtigt sind Emails zu senden.
DMARC (Domain-based Message Authentication)
Prüft die DMARC-Policy der Domain für Email-Authentifizierung.
DKIM (DomainKeys Identified Mail)
Testet häufige DKIM-Selektoren: default, google, k1, k2, selector1, selector2, mail, dkim
Tipps & Best Practices
Rate-Limiting vermeiden
Bei der Analyse vieler Domains solltest du eine Verzögerung einbauen:
python3 domain_analyzer.py -f domains.txt --delay 2.0
Privacy Protection
Viele Domains verwenden WHOIS Privacy Protection. In diesen Fällen wird "REDACTED FOR PRIVACY" angezeigt. Das Tool filtert diese automatisch heraus und zeigt nur verfügbare Informationen an.
Subdomain-Enumeration
Das Tool testet nur häufige Subdomains. Für umfassende Subdomain-Enumeration empfehlen sich spezialisierte Tools wie:
sublist3ramasssubfinder
Ergänzende Tools
Für noch detailliertere Analysen können folgende Tools ergänzend verwendet werden:
nmap- Umfassenderer Port-Scantestssl.sh- Detaillierte SSL/TLS-Analysedig- Manuelle DNS-Abfragenmxtoolbox.com- Online-Tools für Email-Server-Tests
Troubleshooting
WHOIS-Fehler
Problem: "WHOIS-Abfrage fehlgeschlagen"
Lösung:
# Prüfe ob whois installiert ist
which whois
# Falls nicht, installieren:
sudo pacman -S whois # Arch
sudo apt install whois # Debian/Ubuntu
DNS-Fehler
Problem: "NXDOMAIN" - Domain existiert nicht
Lösung: Prüfe die Schreibweise der Domain. Keine http:// oder https:// verwenden, nur die Domain selbst.
Timeout-Fehler
Problem: Timeouts bei Port-Scans oder WHOIS-Abfragen
Lösung:
- Prüfe deine Internetverbindung
- Manche Domains/IPs blockieren Port-Scans
- Erhöhe die Verzögerung mit
--delay
Import-Fehler
Problem: ModuleNotFoundError: No module named 'dns'
Lösung:
pip install dnspython requests --break-system-packages
Rechtliche Hinweise
⚠️ Wichtig:
- Verwende dieses Tool nur für Domains, für die du berechtigt bist
- Respektiere die Nutzungsbedingungen von WHOIS-Servern
- Exzessive Abfragen können zu IP-Blocks führen
- Port-Scanning ohne Erlaubnis kann rechtliche Konsequenzen haben
- Dieses Tool dient der Informationsbeschaffung für legitime Zwecke (Sicherheitsanalyse eigener Domains, Due Diligence, etc.)
Lizenz
MIT License - Siehe LICENSE Datei für Details
Beiträge
Pull Requests sind willkommen! Für größere Änderungen öffne bitte zuerst ein Issue um zu diskutieren was du ändern möchtest.
Support
Bei Problemen oder Fragen öffne ein Issue auf GitHub.
Changelog
Version 1.0.0 (2025-11-28)
- Initiales Release
- DNS-Analyse
- WHOIS-Integration mit automatischer Hauptdomain-Erkennung
- IP-Analyse mit ASN-Lookup
- Email-Sicherheitschecks (SPF, DMARC, DKIM)
- Port-Scanning
- SSL/TLS-Zertifikat-Analyse
- HTTP-Header-Analyse
- Subdomain-Enumeration
- Multi-Domain-Support
- JSON-Export
- Farbiger Terminal-Output
Autor: Erstellt mit Claude
Sprache: Python 3.7+
Abhängigkeiten: dnspython, requests, whois (system package)