2025-11-28 09:16:31 +01:00

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:

  • sublist3r
  • amass
  • subfinder

Ergänzende Tools

Für noch detailliertere Analysen können folgende Tools ergänzend verwendet werden:

  • nmap - Umfassenderer Port-Scan
  • testssl.sh - Detaillierte SSL/TLS-Analyse
  • dig - Manuelle DNS-Abfragen
  • mxtoolbox.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)

Description
Findet alles mögliche über eine Domain herraus.
Readme 37 KiB
Languages
Python 100%