Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
dns-benchmark-tool — Schnelles, umfassendes DNS-Performance-Testing mit DNSSEC-Validierung, DoH/DoT-Unterstützung und Enterprise-Funktionen | Kitploit
Tools/GitHubGitHub/net-benchmark/dns-benchmark-tool
Verschlüsselungs-/EntschlüsselungstoolsNetzwerkkartierungNetzwerksicherheitPrivatsphäreDNS-AnalyseArchived
GitHubnet-benchmark/dns-benchmark-tool

dns-benchmark-tool

Schnelles, umfassendes DNS-Performance-Testing mit DNSSEC-Validierung, DoH/DoT-Unterstützung und Enterprise-Funktionen

Repository anzeigen
36312vor 3 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

⚠️ Dieses Projekt wurde verschoben und wird nicht mehr gewartet. Installieren Sie den Nachfolger: pip install net-benchmark Repository: https://github.com/net-benchmark/net-benchmark Alle vorhandenen Befehle und Flags bleiben vollständig kompatibel.


DNS Benchmark Tool

Teil von BuildTools - Network Performance Suite

Schnelle, umfassende DNS-Leistungstests mit DNSSEC-Validierung, DoH/DoT-Unterstützung und Unternehmensfunktionen```bash pip install dns-benchmark-tool dns-benchmark benchmark --use-defaults --formats csv,excel

root@kitploit:~
> 🎉 **1.400+ Downloads · 600+ aktive Nutzer**
> 🚀 **Das Web-Dashboard ist jetzt live!** [BuildTools kostenlos testen →](https://buildtools.net)

---

**Echtzeitverfolgung**

[![Echtzeitverfolgung](https://assets.kitploit.com/production/public/readmes/9801/abc3e3079146e364e8a291edc0e19bfcaf931bcd7a3db5d7a8d9daf5ed565e94.gif)](https://github.com/frankovo/dns-benchmark-tool)
*Beobachten Sie DNS-Abfragen in Echtzeit*

**Echtzeitverfolgung - Web-UI**
[![Echtzeitverfolgung - Web-UI](https://assets.kitploit.com/production/public/readmes/9801/02b1a1ab9d814fa4de537464def46493c36f96a5d0787a13c2d14eb07dfc2d11.gif)](https://github.com/frankovo/dns-benchmark-tool)
*Überwachen Sie DNS-Abfragen live mit E-Mail-Benachrichtigungen*

</div>

## 🎉 Was gibt es Neues in ![neu](https://img.shields.io/pypi/v/dns-benchmark-tool.svg?color=brightgreen&label=new)

Wir haben **drei leistungsstarke CLI-Befehle** und volle Unterstützung für **DoH, DoT und DNSSEC** hinzugefügt:

- 🚀 **top** — schnelles Ranking der Resolver nach Geschwindigkeit und Zuverlässigkeit
- 📊 **compare** — vergleichendes Benchmarking mit detaillierten Statistiken und Exportoptionen
- 🔄 **monitoring** — kontinuierliche Leistungsüberwachung mit Benachrichtigungen und Protokollierung
- 🔒 **DoH / DoT / DNSSEC** — verschlüsseltes DNS-Benchmarking mit echten Latenz-Kompromiss-Daten```bash
# Quick resolver ranking
dns-benchmark top

# Compare resolvers side-by-side
dns-benchmark compare Cloudflare Google Quad9 --show-details

# Run monitoring for 1 hour with alerts
dns-benchmark monitoring --use-defaults --formats csv,excel --interval 30 --duration 3600 \
  --alert-latency 150 --alert-failure-rate 5 --output monitor.log

# Encrypted DNS
dns-benchmark benchmark \
  --resolvers "Cloudflare,Google" \
  --domains "bing.com,google.com" \
  --doh \
  --doh-url "https://cloudflare-dns.com/dns-query,https://dns.google/dns-query" \
  --iterations 1 \
  --formats csv \
  --output ./doh_results_explicit_urls

dns-benchmark benchmark \
  --resolvers "Cloudflare,Quad9" \
  --domains "cloudflare.com,quad9.net" \
  --dot

📈 Community-Highlights

  • ⭐ Sterne: Von 7 auf 110+ nach Post auf Hacker News gestiegen
  • 📦 Downloads: Nach anfänglichem Stillstand wieder auf 200+/Tag erholt
  • 🐘 Mastodon: Auch dort geteilt, aber der eigentliche Schub kam von HN
  • 💬 Feedback: Konstruktive Kritik aus der HN-Community hat direkt Patches v0.3.0 → v0.3.1 geprägt
  • 🚀 Fazit: Sichtbarkeit auf Hacker News war der Katalysator für die Adaptionsdynamik

CI Tests Publish to TestPyPI Publish to PyPI PyPI version PyPI - Python Version

License Coverage

Downloads GitHub stars GitHub forks Issues Last commit Main branch protected

Inhaltsverzeichnis

  • DNS Benchmark Tool
    • Teil von BuildTools - Network Performance Suite
    • 🎉 Was ist neu in
    • 📈 Community-Highlights
    • Inhaltsverzeichnis
    • 🎯 Warum dieses Tool?
      • Das Problem
      • Die Lösung
      • Perfekt für
    • Schnellstart
      • Installation
      • Ersten Benchmark ausführen
      • Ergebnisse anzeigen
    • ⚡ Befehle auf einen Blick
    • ✨ Hauptfunktionen
      • 🚀 Leistung
      • 🔒 Sicherheit & Datenschutz
      • 📊 Analyse & Export
      • 🏢 Enterprise-Funktionen
      • 🌐 Plattformübergreifend
    • 🔒 Sicherheit & verschlüsseltes DNS
    • 🔧 Erweiterte Funktionen
    • 💼 Anwendungsfälle
      • 🔧 Für Entwickler: API-Leistung optimieren
      • 🛡️ Für DevOps/SRE: Vor der Migration validieren
      • 🏠 Für Self-Hoster: Pi-hole-Leistung nachweisen
      • 📊 Für Netzwerkadministratoren: Automatisierte Gesundheitschecks
      • 🔐 Für Datenschutzbefürworter: Verschlüsseltes DNS testen
    • 📦 Installation & Einrichtung
      • Anforderungen
      • Von PyPI installieren
      • Aus dem Quellcode installieren
      • Installation überprüfen
      • Erster Start

🎯 Warum dieses Tool?

Die DNS-Auflösung ist oft der versteckte Engpass in der Netzwerkleistung. Ein langsamer Resolver kann jeder Anfrage Hunderte von Millisekunden hinzufügen.

Das Problem

  • ⏱️ Versteckter Engpass: DNS kann 300 ms+ pro Anfrage hinzufügen
  • 🤷 Unbekannte Leistung: Die meisten Entwickler testen ihr DNS nie
  • 🌍 Standort ist wichtig: Der "schnellste" Resolver hängt davon ab, wo SIE sind
  • 🔒 Sicherheit variiert: DNSSEC, DoH, DoT werden sehr unterschiedlich unterstützt

Die Lösung

dns-benchmark-tool hilft Ihnen:

  • 🔍 Den schnellsten DNS-Resolver für IHREN Standort zu finden
  • 📊 Echte Daten zu erhalten – P95, P99, Jitter, Konsistenzwerte
  • 🛡️ Sicherheit zu validieren – DNSSEC-Überprüfung integriert
  • 🚀 Im großen Maßstab zu testen – 100+ gleichzeitige Abfragen in Sekunden

Perfekt für

  • ✅ Entwickler, die API-Leistung optimieren
  • ✅ DevOps/SRE, die Resolver-SLAs validieren
  • ✅ Self-Hoster, die Pi-hole/Unbound mit öffentlichem DNS vergleichen
  • ✅ Netzwerkadmins, die Compliance-Prüfungen durchführen

Schnellstart

Installation```bash

pip install dns-benchmark-tool

root@kitploit:~
### Führe deinen ersten Benchmark durch```bash
# Test default resolvers against popular domains
dns-benchmark benchmark --use-defaults --formats csv,excel

Ergebnisse anzeigen

Ergebnisse werden automatisch in ./benchmark_results/ gespeichert mit:

  • Zusammenfassungs-CSV mit Statistiken
  • Detaillierte Rohdaten
  • Optionale PDF/Excel-Berichte

Das war's! Sie haben gerade 5 DNS-Resolver gegen 10 Domains gebenchmarkt.


⚡ Befehle auf einen Blick

Find your fastest resolver right now

dns-benchmark top --limit 5

Compare the big three

dns-benchmark compare Cloudflare Google Quad9 --show-details

Monitor with DoT and alerts for 1 hour

dns-benchmark monitoring --use-defaults --dot
--interval 30 --duration 3600
--alert-latency 150 --output monitor.log

root@kitploit:~
---

## ✨ Hauptmerkmale

### 🚀 Leistung

- **Asynchrone Abfragen** - Teste 100+ Resolver gleichzeitig
- **Mehrfachiteration** - Führe Benchmarks mehrmals für Genauigkeit durch
- **Statistische Analyse** - Mittelwert, Median, P95, P99, Jitter, Konsistenz
- **Cache-Steuerung** - Teste mit/ohne DNS-Caching

### 🔒 Sicherheit & Datenschutz

- **DNSSEC-Validierung** - Überprüfe kryptografische Vertrauensketten
- **DNS-over-HTTPS (DoH)** - Verschlüsseltes DNS-Benchmarking
- **DNS-over-TLS (DoT)** - Sicheren Transport testen
- **DNS-over-QUIC (DoQ)** - Experimentelle QUIC-Unterstützung

### 📊 Analyse & Export

- **Mehrere Formate** - CSV, Excel, PDF, JSON
- **Visuelle Berichte** - Diagramme und Grafiken
- **Domain-Statistiken** - Leistungsanalyse pro Domain
- **Fehleraufschlüsselung** - Problematische Resolver identifizieren

### 🏢 Enterprise-Funktionen

- **TSIG-Authentifizierung** - Sichere Unternehmensabfragen
- **Zonentransfers** - AXFR/IXFR-Validierung
- **Dynamische Aktualisierungen** - DNS-Schreiboperationen testen
- **Compliance-Berichte** - Prüfbereite Dokumentation

### 🌐 Plattformübergreifend

- **Linux, macOS, Windows** - Funktioniert überall
- **CI/CD-freundlich** - JSON-Ausgabe, Exit-Codes
- **IDNA-Unterstützung** - Internationalisierte Domainnamen
- **Automatische Erkennung** - Windows WMI DNS-Erkennung

---

## 🔒 Sicherheit & verschlüsseltes DNS

Drei Protokolle werden vollständig unterstützt – jedes fügt Privatsphäre auf Kosten der Latenz hinzu.

| Protokoll | Flag | Typischer Overhead | Verwendungszweck |
|---|---|---|---|
| Plain UDP | *(standard)* | Basislinie | Latenz-Benchmarking |
| DNS-over-HTTPS | `--doh` | +50–200 ms | Privatsphäre, Firewall-Umgehung |
| DNS-over-TLS | `--dot` | +200–500 ms kalt, ~50 ms warm | Verschlüsselter Transport |
| DNSSEC | `--dnssec-validate` | +30–100 ms | Validierung der Resolver-Integrität |

> ⚠️ **Abwägungen**
> - DoH und DoT fügen TLS-Handshake-Overhead bei der ersten Abfrage pro Resolver hinzu. Verwende `--warmup-fast`, um dies vor der Messung zu absorbieren.
> - `--dnssec-validate` fordert RRSIG-Datensätze an und erzwingt das AD-Flag. Nur ~33% der gängigen Domains sind DNSSEC-signiert – erwarte `DNSSEC_FAILED`-Ergebnisse bei unsignierten Domains. Latenzzahlen mit und ohne dieses Flag sind **nicht direkt vergleichbar**.
> - Ergebnisse auf mobilen/Hotspot-Verbindungen zeigen eine 2–5× höhere Varianz als kabelgebundenes Ethernet. Verwende `--iterations 5` und vergleiche die mediane Latenz, nicht den Durchschnitt.```bash
# DoH benchmark
dns-benchmark benchmark \
  --resolvers "Cloudflare,Google" \
  --domains "cloudflare.com,google.com" \
  --doh --warmup-fast

# custom resolvers — must supply urls 1:1, order matters, or it fails early
dns-benchmark benchmark \
  --resolvers "Cloudflare,Google" \
  --domains "bing.com,google.com" \
  --doh \
  --doh-url "https://cloudflare-dns.com/dns-query,https://dns.google/dns-query" \
  --iterations 1 \
  --formats csv \
  --output ./doh_results_explicit_urls

# DoT with DNSSEC on signed domains
dns-benchmark benchmark \
  --resolvers "Cloudflare,Quad9" \
  --domains "cloudflare.com,quad9.net" \
  --dot \
  --dnssec-validate

# DOH rank top resolvers
dns-benchmark top --doh --limit 5

# DOT rank top resolvers
dns-benchmark top --dot --metric reliability --limit 5

# Compare DoH resolvers
dns-benchmark compare Cloudflare Google --doh --iterations 3

# Monitor with DoT
dns-benchmark monitoring --use-defaults --dot \
  --interval 60 --alert-latency 300

# DoH + DNSSEC enforced + export
dns-benchmark benchmark --use-defaults --doh --dnssec-validate --formats csv,excel

# DoT + DNSSEC enforced + multiple iterations
dns-benchmark benchmark \
  --resolvers "Cloudflare,Quad9,Google" \
  --domains "cloudflare.com,quad9.net,google.com" \
  --dot \
  --dnssec-validate \
  --iterations 5 \
  --formats excel

# DoH + custom urls + monitoring
dns-benchmark monitoring \
  --resolvers "Cloudflare,Google" \
  --doh \
  --doh-url "https://cloudflare-dns.com/dns-query,https://dns.google/dns-query" \
  --interval 30 --duration 7200

Frühe Fehlerbeispiele — diese schlagen sofort fehl, bevor eine Abfrage ausgeführt wird:```bash

--doh and --dot are mutually exclusive

dns-benchmark benchmark --use-defaults --doh --dot

ERROR: --doh and --dot are mutually exclusive.

--doh-url count must match --resolvers count

dns-benchmark benchmark --resolvers "Cloudflare,Google" --doh
--doh-url "https://cloudflare-dns.com/dns-query"

ERROR: --doh-url has 1 URL(s) but --resolvers has 2 resolver(s). Counts must match.

Custom IP with --doh requires --doh-url

dns-benchmark benchmark --resolvers "192.168.1.1" --doh

ERROR: --doh requires a DoH URL for: 192.168.1.1. Use --doh-url to supply them explicitly.

root@kitploit:~
---

## 🔧 Erweiterte Funktionen

---
> ⚠️ Diese Flags sind zur Sichtbarkeit dokumentiert, aber noch nicht implementiert.  
> Sie stellen bevorstehende erweiterte Funktionen dar.

- `--zone-transfer` → AXFR/IXFR Zonentransfer-Tests *(demnächst verfügbar)*
- `--tsig` → TSIG-authentifizierte Abfragen *(demnächst verfügbar)*
- `--idna` → Unterstützung internationalisierter Domainnamen *(demnächst verfügbar)*

---

<details>
<summary><b>🚀 Leistungs- und Nebenläufigkeitsfunktionen</b></summary>

<br>

- **Async I/O mit dnspython** - Testen Sie 100+ Resolver gleichzeitig
- **Trio-Framework-Unterstützung** - Asynchrone Operationen mit hoher Nebenläufigkeit
- **Konfigurierbare Nebenläufigkeit** - Maximale gleichzeitige Abfragen steuern
- **Wiederholungslogik** - Exponentielles Backoff für fehlgeschlagene Abfragen
- **Cache-Simulation** - Testen mit/ohne DNS-Caching
- **Multi-Iterations-Benchmarks** - Tests mehrfach ausführen für Genauigkeit
- **Aufwärmphase** - DNS-Caches vor dem Testen vorwärmen
- **Statistische Analyse** - Mittelwert, Median, P95, P99, Jitter, Konsistenzwerte

**Beispiel:**```bash
dns-benchmark benchmark \
  --max-concurrent 200 \
  --iterations 5 \
  --timeout 3.0 \
  --warmup
🔒 Sicherheits- & Datenschutzfunktionen
  • DNSSEC-Validierung - Überprüfung kryptografischer Vertrauensketten
  • DNS-over-HTTPS (DoH) - Verschlüsseltes DNS-Benchmarking über HTTPS
  • DNS-over-TLS (DoT) - Sichere Transportschicht-Tests
  • DNS-over-QUIC (DoQ) - Experimentelle Unterstützung des QUIC-Protokolls
  • TSIG-Authentifizierung - Transaktionssignaturen für Enterprise-DNS
  • EDNS0-Unterstützung - Erweiterte DNS-Funktionen und größere Nutzlasten

Beispiel:```bash

Test DoH resolvers

dns-benchmark benchmark
--doh
--resolvers doh-providers.json
--dnssec-validate

root@kitploit:~
</details>

<details>
<summary><b>🏢 Enterprise- & Migrationsfunktionen</b></summary>

<br>

- **Zonenübertragungen (AXFR/IXFR)** - Validierung von vollständigen und inkrementellen Zonentransfers
- **Dynamische DNS-Updates** - Testen von DNS-Schreibvorgängen und Aktualisierungen
- **EDNS0-Unterstützung** - Erweiterte DNS-Optionen, Client-Subnetz, größere Nutzlasten
- **Windows WMI-Integration** - Automatische Erkennung aktiver System-DNS-Einstellungen
- **Compliance-Berichterstellung** - Generierung prüfungsbereiter PDF/Excel-Berichte
- **SLA-Validierung** - Überwachung von Verfügbarkeits- und Leistungsschwellen

**Beispiel:**```bash
# Validate DNS migration
dns-benchmark benchmark \
  --resolvers old-provider.json,new-provider.json \
  --zone-transfer \ # coming soon
  --output migration-report/ \
  --formats pdf,excel
📊 Analyse & Berichtsfunktionen
  • Domänenspezifische Statistiken – Leistung nach Domäne analysieren
  • Statistiken nach Datensatztyp – A, AAAA, MX, TXT usw. vergleichen
  • Fehleraufschlüsselung – Fehlertypen kategorisieren und zählen
  • Vergleichsmatrizen – Resolver nebeneinander vergleichen
  • Trendanalyse – Leistung im Zeitverlauf (bei mehreren Durchläufen)
  • Best-by-Kriterien – Besten Resolver nach Latenz/Zuverlässigkeit/Konsistenz finden

Beispiel:```bash

Detailed analysis

dns-benchmark benchmark
--use-defaults
--formats csv,excel
--domain-stats
--record-type-stats
--error-breakdown
--formats csv,excel,pdf

root@kitploit:~
</details>

<details>
<summary><b>🌐 Internationalisierung & Kompatibilität</b></summary>

<br>

- **IDNA-Unterstützung** - Internationalisierte Domainnamen (IDN)
- **Mehrere Record-Typen** - A, AAAA, MX, TXT, CNAME, NS, SOA, PTR, SRV, CAA
- **Plattformübergreifend** - Linux, macOS, Windows (native Unterstützung)
- **CI/CD-Integration** - JSON-Ausgabe, korrekte Exit-Codes, Quiet-Modus
- **Benutzerdefinierte Resolver** - Aus JSON laden, eigene DNS-Server testen
- **Benutzerdefinierte Domains** - Testen gegen Ihre spezifische Domain-Liste

**Beispiel:**```bash
# Test internationalized domains
dns-benchmark benchmark \
  --domains international-domains.txt \
  --record-types A,AAAA,MX \
  --resolvers custom-resolvers.json

💡 Die meisten Benutzer benötigen nur grundlegende Funktionen. Diese erweiterten Funktionen stehen zur Verfügung, wenn Sie sie benötigen.


💼 Anwendungsfälle

🔧 Für Entwickler: API-Performance optimieren```bash

Find fastest DNS for your API endpoints

dns-benchmark benchmark
--domains api.myapp.com,cdn.myapp.com
--record-types A,AAAA
--resolvers production.json
--iterations 10

root@kitploit:~
**Ergebnis:** API-Latenz um 100-300 ms reduzieren

---

### 🛡️ Für DevOps/SRE: Vor der Migration validieren```bash
# Test new DNS provider before switching
dns-benchmark benchmark \
  --resolvers current-dns.json,new-dns.json \
  --use-defaults \
  --dnssec-validate \
  --output migration-report/ \
  --formats csv,excel

Ergebnis: Leistung und Sicherheit vor der Migration überprüfen


🏠 Für Selbst-Hoster: Pi-hole-Leistung nachweisen```bash

Compare Pi-hole against public resolvers

dns-benchmark compare
--resolvers pihole.local,1.1.1.1,8.8.8.8,9.9.9.9
--domains common-sites.txt
--rounds 10

root@kitploit:~
**Ergebnis:** Datenbasierter Beweis, dass Ihr selbst gehosteter DNS schneller ist (oder auch nicht!)

---

### 📊 Für Netzwerkadministratoren: Automatisierte Health Checks```bash
# Add to crontab for monthly reports
0 0 1 * * dns-benchmark benchmark \
  --use-defaults \
  --output /var/reports/dns/ \
  --formats excel,csv \
  --domain-stats \
  --error-breakdown

Ergebnis: Automatisierte Compliance- und SLA-Berichterstattung


🔐 Für Datenschutzbefürworter: Testen Sie verschlüsseltes DNS```bash

Benchmark privacy-focused DoH/DoT resolvers

dns-benchmark benchmark
--doh
--resolvers privacy-resolvers.json
--domains sensitive-sites.txt
--dnssec-validate

root@kitploit:~
**Ergebnis:** Finde den schnellsten verschlüsselten DNS, ohne die Privatsphäre zu opfern

---

## 📦 Installation & Einrichtung

### Voraussetzungen

- Python 3.9+
- pip Paketverwaltung

### Installation von PyPI```bash
pip install dns-benchmark-tool

Installation aus dem Quellcode```bash

git clone https://github.com/frankovo/dns-benchmark-tool.git cd dns-benchmark-tool pip install -e .

root@kitploit:~
### Installation überprüfen```bash
dns-benchmark --version
dns-benchmark --help

Erster Start```bash

Test with defaults (recommended for first time)

dns-benchmark benchmark --use-defaults --formats csv,excel

root@kitploit:~
---

## 📖 Anwendungsbeispiele

### Grundlegende Nutzung```bash
# Basic test with progress bars
dns-benchmark benchmark --use-defaults --formats csv,excel

# Basic test without progress bars
dns-benchmark benchmark --use-defaults --formats csv,excel --quiet

# Test with custom resolvers and domains
dns-benchmark benchmark --resolvers data/resolvers.json --domains data/domains.txt

# Quick test with only CSV output
dns-benchmark benchmark --use-defaults --formats csv

Erweiterte Nutzung```bash

Export a machine-readable bundle

dns-benchmark benchmark --use-defaults --json --output ./results

Test specific record types

dns-benchmark benchmark --use-defaults --formats csv,excel --record-types A,AAAA,MX

Custom output location and formats

dns-benchmark benchmark
--use-defaults
--output ./my-results
--formats csv,excel

Include detailed statistics

dns-benchmark benchmark
--use-defaults
--formats csv,excel
--record-type-stats
--error-breakdown

High concurrency with retries

dns-benchmark benchmark
--use-defaults
--formats csv,excel
--max-concurrent 200
--timeout 3.0
--retries 3

Website migration planning

dns-benchmark benchmark
--resolvers data/global_resolvers.json
--domains data/migration_domains.txt
--formats excel,pdf
--output ./migration_analysis

DNS provider selection

dns-benchmark benchmark
--resolvers data/provider_candidates.json
--domains data/business_domains.txt
--formats csv,excel
--output ./provider_selection

Network troubleshooting

dns-benchmark benchmark
--resolvers "192.168.1.1,1.1.1.1,8.8.8.8"
--domains "problematic-domain.com,working-domain.com"
--timeout 10
--retries 3
--formats csv
--output ./troubleshooting

Security assessment

dns-benchmark benchmark
--resolvers data/security_resolvers.json
--domains data/security_test_domains.txt
--formats pdf
--output ./security_assessment

Performance monitoring

dns-benchmark benchmark
--use-defaults
--formats csv
--quiet
--output /var/log/dns_benchmark/$(date +%Y%m%d_%H%M%S)

New top commands

Run a basic benchmark (default: rank by latency)

dns-benchmark top

→ Tests all resolvers with sample domains, ranks by latency

Limit the number of resolvers shown

dns-benchmark top --limit 5

→ Shows only the top 5 resolvers

Rank by success rate

dns-benchmark top --metric success

→ Ranks resolvers by highest success rate

Rank by reliability (combined score: success rate + latency)

dns-benchmark top --metric reliability

→ Uses weighted score to rank resolvers

Filter resolvers by category

dns-benchmark top --category privacy dns-benchmark top --category family dns-benchmark top --category security

→ Tests only resolvers in the specified category

Use a custom domain list

dns-benchmark top --domains domains.txt

→ Loads domains from a text file instead of built-in sample list

Specify DNS record types

dns-benchmark top --record-types A,AAAA,MX

→ Queries multiple record types (comma-separated)

Adjust timeout and concurrency

dns-benchmark top --timeout 3.0 --max-concurrent 50

→ Sets query timeout to 3 seconds and limits concurrency to 50

Export results to JSON

dns-benchmark top --output results.json

→ Saves results in JSON format

Export results to CSV

dns-benchmark top --output results.csv

→ Saves results in CSV format

Export results to TXT

dns-benchmark top --output results.txt

→ Saves results in plain text format

Quiet mode (no progress bar, CI/CD friendly)

dns-benchmark top --quiet

→ Suppresses progress output

Example combined usage

dns-benchmark top --limit 10 --metric reliability --category privacy --output top_resolvers.csv

→ Benchmarks privacy resolvers, ranks by reliability, shows top 10, exports to CSV

New compare commaands

Comparison of resolvers by name

dns-benchmark compare Cloudflare Google Quad9

^ Compares Cloudflare, Google, and Quad9 resolvers using default domains and record type A

Basic compare resolvers by IP address

dns-benchmark compare 1.1.1.1 8.8.8.8 9.9.9.9

^ Directly specify resolver IPs instead of names

Increase iterations for more stable results

dns-benchmark compare "Cloudflare" "Google" --iterations 5

^ Runs 5 rounds of queries per resolver/domain/record type

Use a custom domain list from file

dns-benchmark compare Cloudflare Google -d ./data/domains.txt

^ Loads domains from domains.txt instead of sample domains

Query multiple record types

dns-benchmark compare Cloudflare Google -t A,AAAA,MX

^ Tests A, AAAA, and MX records for each domain

Adjust timeout and concurrency

dns-benchmark compare Cloudflare Google --timeout 3.0 --max-concurrent 200

^ Sets query timeout to 3 seconds and allows 200 concurrent queries

Export results to JSON

dns-benchmark compare Cloudflare Google -o results.json

^ Saves comparison summary to results.json

Export results to CSV

dns-benchmark compare Cloudflare Google -o results.csv

^ Saves comparison summary to results.csv (via CSVExporter)

Suppress progress output

dns-benchmark compare Cloudflare Google --quiet

^ Runs silently, only prints final results

Show detailed per-domain breakdown

dns-benchmark compare Cloudflare Google --show-details

^ Prints average latency and success counts per domain for each resolver

New monitoring commands

Start monitoring with default resolvers and sample domains

dns-benchmark monitoring --use-defaults

^ Runs indefinitely, checking every 60s, using built-in resolvers and 5 sample domains

Monitor with a custom resolver list from JSON

dns-benchmark monitoring -r resolvers.json --use-defaults

^ Loads resolvers from resolvers.json, domains from defaults

Monitor with a custom domain list

dns-benchmark monitoring -d domains.txt --use-defaults

^ Uses default resolvers, but domains are loaded from domains.txt

Change monitoring interval to 30 seconds

dns-benchmark monitoring --use-defaults --interval 30

^ Runs checks every 30 seconds instead of 60

Run monitoring for a fixed duration (e.g., 1 hour = 3600 seconds)

dns-benchmark monitoring --use-defaults --duration 3600

^ Stops automatically after 1 hour

Set stricter alert thresholds

dns-benchmark monitoring --use-defaults --alert-latency 150 --alert-failure-rate 5

^ Alerts if latency >150ms or failure rate >5%

Save monitoring results to a log file

dns-benchmark monitoring --use-defaults --output monitor.log

^ Appends results and alerts to monitor.log

Combine options: custom resolvers, domains, interval, duration, and logging

dns-benchmark monitoring -r resolvers.json -d domains.txt -i 45 --duration 1800 -o monitor.log

^ Monitors resolvers from resolvers.json against domains.txt every 45s, for 30 minutes, logging to monitor.log

Run monitoring for 1 hour with alerts

dns-benchmark monitoring --use-defaults --interval 30 --duration 3600
--alert-latency 150 --alert-failure-rate 5 --output monitor.log

root@kitploit:~
---

⚠️ **Hinweis für neue Befehle:** Resolver ohne erfolgreiche Abfragen werden aus der Rangliste ausgeschlossen und zeigen `Avg Latency: N/A` an.

---

## Inline-Eingabeunterstützung für Resolver und Domains

Dieser Patch führt die vollständige Unterstützung für kommagetrennte Inline-Werte für die Flags `--resolvers` und `--domains` ein, behebt das Problem [#39](https://github.com/frankovo/dns-benchmark-tool/issues/39) und verbessert die CLI-Benutzerfreundlichkeit, ohne bestehende Arbeitsabläufe zu unterbrechen.

### Neue Funktionen

1. **Inline-Resolver**: `--resolvers "1.1.1.1,8.8.8.8,9.9.9.9"`
2. **Inline-Domains**: `--domains "google.com,github.com"`
3. **Einzelne Werte**: `--resolvers "1.1.1.1"` oder `--domains "google.com"`
4. **Benannte Resolver**: `--resolvers "cloudflare,google,quad9"`
5. **Gemischte Eingabe**: `--resolvers "1.1.1.1,cloudflare,8.8.8.8"`

### Rückwärtskompatibilität

- alle vorhandenen dateibasierten Konfigurationen funktionieren weiterhin
- keine bahnbrechenden Änderungen an der CLI
- Die Dateierkennung hat Vorrang vor der Inline-Parsing

### Nutzungsbeispiele

#### Vorher (Nur Dateien funktionierten)```bash
dns-benchmark benchmark \
    --resolvers data/resolvers.json \
    --domains data/domains.txt

Nach (Beide funktionieren)```bash

Inline (New)

dns-benchmark benchmark
--resolvers "1.1.1.1,8.8.8.8,9.9.9.9"
--domains "google.com,github.com"
--timeout 10
--retries 3
--formats csv
--output ./troubleshooting

Files (STILL WORKS)

dns-benchmark benchmark
--resolvers data/resolvers.json
--domains data/domains.txt
--formats csv

root@kitploit:~
#### Benannte Resolver```bash
# Named resolvers
dns-benchmark benchmark \
    --resolvers "Cloudflare,Google,Quad9" \
    --domains "google.com,github.com" \
    --timeout 10 \
    --retries 3 \
    --formats csv \
    --output ./troubleshooting_named

Gemischte Eingabe```bash

Mixed input

dns-benchmark benchmark
--resolvers "1.1.1.1,Cloudflare,8.8.8.8"
--domains "google.com,github.com"
--timeout 10
--retries 3
--formats csv
--output ./troubleshooting_mixed

root@kitploit:~
#### Einzel```bash

# Single
dns-benchmark benchmark \
    --resolvers "1.1.1.1" \
    --domains "google.com" \
    --timeout 10 \
    --retries 3 \
    --formats csv \
    --output ./troubleshooting

🔧 Werkzeuge

Risolver-Verwaltung```bash

Show default resolvers and domains

dns-benchmark list-defaults

Browse all available resolvers

dns-benchmark list-resolvers

Browse with detailed information

dns-benchmark list-resolvers --details

Filter by category

dns-benchmark list-resolvers --category security dns-benchmark list-resolvers --category privacy dns-benchmark list-resolvers --category family

Export resolvers to different formats

dns-benchmark list-resolvers --format csv dns-benchmark list-resolvers --format json

root@kitploit:~
### Domainverwaltung```bash
# List all test domains
dns-benchmark list-domains

# Show domains by category
dns-benchmark list-domains --category tech
dns-benchmark list-domains --category ecommerce
dns-benchmark list-domains --category social

# Limit results
dns-benchmark list-domains --count 10
dns-benchmark list-domains --category news --count 5

# Export domain list
dns-benchmark list-domains --format csv
dns-benchmark list-domains --format json

Kategorieübersicht```bash

View all available categories

dns-benchmark list-categories

root@kitploit:~
### Konfigurationsverwaltung```bash
# Generate sample configuration
dns-benchmark generate-config --output sample_config.yaml

# Category-specific configurations
dns-benchmark generate-config --category security --output security_test.yaml
dns-benchmark generate-config --category family --output family_protection.yaml
dns-benchmark generate-config --category performance --output performance_test.yaml

# Custom configuration for specific use case
dns-benchmark generate-config --category privacy --output privacy_audit.yaml

Vollständige Bedienungsanleitung

Schneller Leistungstest```bash

Basic test with progress bars

dns-benchmark benchmark --use-defaults

Quick test with only CSV output

dns-benchmark benchmark --use-defaults --formats csv --quiet

Test specific record types

dns-benchmark benchmark --use-defaults --record-types A,AAAA,MX

root@kitploit:~
Analytik-Flags für Add-ons:```bash
# Include domain and record-type analytics and error breakdown
dns-benchmark benchmark --use-defaults \
  --domain-stats --record-type-stats --error-breakdown

JSON-Export:```bash

Export a machine-readable bundle

dns-benchmark benchmark --use-defaults --json --output ./results

root@kitploit:~
#### Netzwerkadministrator```bash
# Compare internal vs external DNS
dns-benchmark benchmark \
  --resolvers "192.168.1.1,1.1.1.1,8.8.8.8,9.9.9.9" \
  --domains "internal.company.com,google.com,github.com,api.service.com" \
  --formats excel,pdf \
  --timeout 3 \
  --max-concurrent 50 \
  --output ./network_audit

# Test DNS failover scenarios
dns-benchmark benchmark \
  --resolvers data/primary_resolvers.json \
  --domains data/business_critical_domains.txt \
  --record-types A,AAAA \
  --retries 3 \
  --formats csv,excel \
  --output ./failover_test

ISP & Netzbetreiber```bash

Comprehensive ISP resolver comparison

dns-benchmark benchmark
--resolvers data/isp_resolvers.json
--domains data/popular_domains.txt
--timeout 5
--max-concurrent 100
--formats csv,excel,pdf
--output ./isp_performance_analysis

Regional performance testing

dns-benchmark benchmark
--resolvers data/regional_resolvers.json
--domains data/regional_domains.txt
--formats excel
--quiet
--output ./regional_analysis

root@kitploit:~
#### Entwickler & DevOps```bash
# Test application dependencies
dns-benchmark benchmark \
  --resolvers "1.1.1.1,8.8.8.8" \
  --domains "api.github.com,registry.npmjs.org,pypi.org,docker.io,aws.amazon.com" \
  --formats csv \
  --quiet \
  --output ./app_dependencies

# CI/CD integration test
dns-benchmark benchmark \
  --resolvers data/ci_resolvers.json \
  --domains data/ci_domains.txt \
  --timeout 2 \
  --formats csv \
  --quiet

Sicherheitsauditor```bash

Security-focused resolver testing

dns-benchmark benchmark
--resolvers data/security_resolvers.json
--domains data/malware_test_domains.txt
--formats csv,pdf
--output ./security_audit

Privacy-focused testing

dns-benchmark benchmark
--resolvers data/privacy_resolvers.json
--domains data/tracking_domains.txt
--formats excel
--output ./privacy_analysis

root@kitploit:~
#### Unternehmens-IT```bash
# Corporate network assessment
dns-benchmark benchmark \
  --resolvers data/enterprise_resolvers.json \
  --domains data/corporate_domains.txt \
  --record-types A,AAAA,MX,TXT,SRV \
  --timeout 10 \
  --max-concurrent 25 \
  --retries 2 \
  --formats csv,excel,pdf \
  --output ./enterprise_dns_audit

# Multi-location testing
dns-benchmark benchmark \
  --resolvers data/global_resolvers.json \
  --domains data/international_domains.txt \
  --formats excel \
  --output ./global_performance

🔍 README-Anpassungen für den finalen Patch

Neue CLI-Optionen


⚡ CLI-Befehle

Das DNS-Benchmark-Tool enthält jetzt drei spezialisierte Befehle für verschiedene Arbeitsabläufe:

🚀 Top

Schnell nach Geschwindigkeit und Zuverlässigkeit sortieren.```bash

Rank resolvers quickly

dns-benchmark top

Use custom domain list

dns-benchmark top -d domains.txt

Export results to JSON

dns-benchmark top -o results.json

root@kitploit:~
### 📊 Vergleichen

Vergleichen Sie Resolver nebeneinander mit detaillierten Statistiken.```bash
# Compare Cloudflare, Google, and Quad9
dns-benchmark compare Cloudflare Google Quad9

# Compare by IP addresses
dns-benchmark compare 1.1.1.1 8.8.8.8 9.9.9.9

# Show detailed per-domain breakdown
dns-benchmark compare Cloudflare Google --show-details

# Export results to CSV
dns-benchmark compare Cloudflare Google -o results.csv

🔄 Überwachung

Überwachen Sie kontinuierlich die Resolver-Leistung mit Benachrichtigungen.```bash

Monitor default resolvers continuously (every 60s)

dns-benchmark monitoring --use-defaults

Monitor with custom resolvers and domains

dns-benchmark monitoring -r resolvers.json -d domains.txt

Run monitoring for 1 hour with alerts

dns-benchmark monitoring --use-defaults --interval 30 --duration 3600
--alert-latency 150 --alert-failure-rate 5 --output monitor.log

root@kitploit:~
---

### 🌟 Befehlsübersicht

| Befehl       | Zweck | Typischer Anwendungsfall | Wichtige Optionen | Ausgabe |
|--------------|-------|--------------------------|-------------------|---------|
| **top**      | Schnelles Ranking der Resolver nach Geschwindigkeit und Zuverlässigkeit | Schnelle Überprüfung, welcher Resolver aktuell am besten ist | `--domains`, `--record-types`, `--output` | Sortierte Liste der Resolver mit Latenz & Erfolgsrate |
| **compare**  | Gegenüberstellung bestimmter Resolver | Detailliertes Benchmarking über ausgewählte Resolver/Domains hinweg | `--domains`, `--record-types`, `--iterations`, `--output`, `--show-details` | Tabelle der Resolver mit Latenz, Erfolgsrate, Aufschlüsselung pro Domain |
| **monitoring** | Kontinuierliche Überwachung mit Alarmen | Echtzeit-Verfolgung der Resolver-Leistung über die Zeit | `--interval`, `--duration`, `--alert-latency`, `--alert-failure-rate`, `--output`, `--use-defaults` | Live-Statusanzeigen, Alarme, optionale Logdatei |

---

## 📊 Analyseverbesserungen

- **Iterationsanzahl**: wird angezeigt, wenn mehr als eine Iteration ausgeführt wird.  
- **Cache-Treffer**: zeigt an, wie viele Abfragen aus dem Cache bedient wurden (wenn `--use-cache` aktiviert ist).  
- **Fehlerverfolgung**: Resolver mit wiederholten Fehlern werden gezählt und können mit `get_failed_resolvers()` eingesehen werden.  
- **Cache-Statistiken**: verfügbar über `get_cache_stats()`, zeigt die Anzahl der zwischengespeicherten Einträge und ob der Cache aktiviert ist.  
- **Warmup-Ergebnisse**: Warmup-Abfragen werden in den Rohdaten mit `iteration=0` markiert, sodass sie in der Analyse leicht herausgefiltert werden können.  

Beispiel für eine Zusammenfassungsausgabe:```markdown

=== BENCHMARK SUMMARY ===
Total queries: 150
Successful: 140 (93.33%)
Average latency: 212.45 ms
Median latency: 198.12 ms
Fastest resolver: Cloudflare
Slowest resolver: Quad9
Iterations: 3
Cache hits: 40 (26.7%)

⚡ Bewährte Methoden

⚙️ Konfigurationsdateien

Resolvers JSON-Format```json

{ "resolvers": [ { "name": "Cloudflare", "ip": "1.1.1.1", "ipv6": "2606:4700:4700::1111" }, { "name": "Google DNS", "ip": "8.8.8.8", "ipv6": "2001:4860:4860::8888" } ] }

root@kitploit:~
### Textdateiformat für Domänen```txt
# Popular websites
google.com
github.com
stackoverflow.com

# Corporate domains
microsoft.com
apple.com
amazon.com

# CDN and cloud
cloudflare.com
aws.amazon.com

Ausgabeformate

CSV-Ausgaben

  • Rohdaten: individuelle Abfrageergebnisse mit Zeitstempeln und Metadaten
  • Zusammenfassende Statistiken: aggregierte Metriken pro Resolver
  • Domainstatistiken: Metriken pro Domain (mit --domain-stats)
  • Datensatztypstatistiken: Metriken pro Datensatztyp (mit --record-type-stats)
  • Fehleraufschlüsselung: Anzahl nach Fehlertyp (mit --error-breakdown)

Excel-Bericht

  • Rohdatenblatt: alle Abfrageergebnisse mit Formatierung
  • Resolver-Zusammenfassung: umfassende Statistiken mit bedingter Formatierung
  • Domainstatistiken: Leistung pro Domain (optional)
  • Datensatztypstatistiken: Leistung pro Datensatztyp (optional)
  • Fehleraufschlüsselung: aggregierte Fehleranzahlen (optional)
  • Leistungsanalyse: Diagramme und vergleichende Analyse

PDF-Bericht

  • Zusammenfassung: wichtigste Erkenntnisse und Empfehlungen
  • Leistungsdiagramme: Latenzvergleich; optionales Erfolgsratendiagramm
  • Resolver-Ranking: geordnet nach durchschnittlicher Latenz
  • Detaillierte Analyse: technischer Tiefgang mit Perzentilen

📄 Optionaler PDF-Export

Standardmäßig unterstützt das Tool CSV- und Excel-Exporte.
Der PDF-Export erfordert die zusätzliche Abhängigkeit weasyprint, die nicht automatisch installiert wird, um Laufzeitprobleme auf einigen Plattformen zu vermeiden.

Installation mit PDF-Unterstützung```bash

pip install dns-benchmark-tool[pdf]

root@kitploit:~
#### Verwendung

Sobald es installiert ist, können Sie die PDF-Ausgabe über die CLI anfordern:```bash
dns-benchmark --use-defaults --formats pdf --output ./results

Falls weasyprint nicht installiert ist und Sie eine PDF-Ausgabe anfordern, zeigt die CLI:```bash [-] Error during benchmark: PDF export requires 'weasyprint'. Install with: pip install dns-benchmark-tool[pdf]

root@kitploit:~
---

### ⚠️ WeasyPrint Einrichtung (für PDF-Export)

Das DNS-Benchmark-Tool nutzt **WeasyPrint**, um PDF-Berichte zu erstellen.  
Wenn Sie einen PDF-Export wünschen, benötigen Sie zusätzliche Systembibliotheken zusätzlich zum Python-Paket.

#### 🛠 Linux (Debian/Ubuntu)```bash
sudo apt install python3-pip libpango-1.0-0 libpangoft2-1.0-0 \
  libharfbuzz-subset0 libjpeg-dev libopenjp2-7-dev libffi-dev

🛠 macOS (Homebrew)```bash

brew install pango cairo libffi gdk-pixbuf jpeg openjpeg harfbuzz

root@kitploit:~
---

#### 🛠 Windows

Installieren Sie die GTK+ Bibliotheken mit einer dieser Methoden:

- **MSYS2**: [MSYS2 herunterladen](https://www.msys2.org/), dann ausführen:  ```bash
  pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-libffi
  • GTK+ 64-Bit-Installationsprogramm: GTK+ Runtime herunterladen und führen Sie das Installationsprogramm aus.

Starten Sie Ihr Terminal nach der Installation neu.


✅ Installation überprüfen

Nach der Installation der Systembibliotheken installieren Sie das Python-Extra:```bash pip install dns-benchmark-tool[pdf]

root@kitploit:~
Dann führe aus:```bash
dns-benchmark --use-defaults --formats pdf --output ./results

JSON-Export

  • Maschinenlesbares Paket, das Folgendes enthält:
    • Allgemeine Statistiken
    • Resolver-Statistiken
    • Rohabfrageergebnisse
    • Domain-Statistiken
    • Datensatztyp-Statistiken
    • Fehleraufschlüsselung

Beispielkonfiguration generieren```bash

dns-benchmark generate-config
--category privacy
--output my-config.yaml

root@kitploit:~
## Leistungsoptimierung```bash
# Large-scale testing (1000+ queries)
dns-benchmark benchmark \
  --resolvers data/many_resolvers.json \
  --domains data/many_domains.txt \
  --max-concurrent 50 \
  --timeout 3 \
  --quiet \
  --formats csv

# Unstable networks
dns-benchmark benchmark \
  --resolvers data/backup_resolvers.json \
  --domains data/critical_domains.txt \
  --timeout 10 \
  --retries 3 \
  --max-concurrent 10

# Quick diagnostics
dns-benchmark benchmark \
  --resolvers "1.1.1.1,8.8.8.8" \
  --domains "google.com,cloudflare.com" \
  --formats csv \
  --quiet \
  --timeout 2

Fehlerbehebung```bash

Command not found

pip install -e . python -m dns_benchmark.cli --help

PDF generation fails (Ubuntu/Debian)

sudo apt-get install libcairo2 libpango-1.0-0 libpangocairo-1.0-0
libgdk-pixbuf2.0-0 libffi-dev shared-mime-info

Or skip PDF

dns-benchmark benchmark --use-defaults --formats csv,excel

Network timeouts

dns-benchmark benchmark --use-defaults --timeout 10 --retries 3 dns-benchmark benchmark --use-defaults --max-concurrent 25

root@kitploit:~
### Debug-Modus```bash
# Verbose run
python -m dns_benchmark.cli benchmark --use-defaults --formats csv

# Minimal configuration
dns-benchmark benchmark --resolvers "1.1.1.1" --domains "google.com" --formats csv

Automatisierung & CI

Cron-Jobs```bash

Daily monitoring

0 2 * * * /usr/local/bin/dns-benchmark benchmark --use-defaults --formats csv --quiet --output /var/log/dns_benchmark/daily_$(date +%Y%m%d)

Time-based variability (every 6 hours)

0 */6 * * * /usr/local/bin/dns-benchmark benchmark --use-defaults --formats csv --quiet --output /var/log/dns_benchmark/$(date +%Y%m%d_%H)

root@kitploit:~
### GitHub Actions Beispiel```yaml
- name: DNS Performance Test
  run: |
    pip install dnspython pandas click tqdm colorama
    dns-benchmark benchmark \
      --resolvers "1.1.1.1,8.8.8.8" \
      --domains "api.service.com,database.service.com" \
      --formats csv \
      --quiet

Screenshots

Platzieren Sie Bilder in docs/screenshots/:

  • docs/screenshots/cli_run.png
  • docs/screenshots/excel_report.png
  • docs/screenshots/pdf_summary.png
  • docs/screenshots/pdf_charts.png
  • docs/screenshots/excel_charts.png
  • docs/screenshots/real_time_monitoring.png

1. CLI Benchmark-Durchlauf

CLI Benchmark-Durchlauf

2. Excel-Berichtsausgabe

Excel-Berichtsausgabe

3. PDF-Managementzusammenfassung

PDF-Managementzusammenfassung

4. PDF-Diagramme

PDF-Diagramme

5. Excel-Diagramme

Excel-Diagramme

6. Echtzeitüberwachung

Echtzeitüberwachung


Hilfe```bash

dns-benchmark --help dns-benchmark benchmark --help dns-benchmark list-resolvers --help dns-benchmark list-domains --help dns-benchmark list-categories --help dns-benchmark generate-config --help

root@kitploit:~
Häufige Szenarien:```bash
# I'm new — where to start?
dns-benchmark list-defaults
dns-benchmark benchmark --use-defaults

# Test specific resolvers
dns-benchmark list-resolvers --category security
dns-benchmark benchmark --resolvers data/security_resolvers.json --use-defaults

# Generate a management report
dns-benchmark benchmark --use-defaults --formats excel,pdf \
  --domain-stats --record-type-stats --error-breakdown --json \
  --output ./management_report

Release-Workflow

  • Voraussetzungen

    • GPG-Schlüssel konfiguriert: führen Sie make gpg-check aus, um zu überprüfen.
    • Branch-Schutz: main erfordert signierte Commits und erfolgreiche CI.
    • CI-Veröffentlichung: wird bei signierten Tags ausgelöst, die vX.Y.Z. entsprechen.
  • Release vorbereiten (signiert)

    • Patch/Minor/Major-Erhöhung:

      root@kitploit:~
      make release-patch      # or: make release-minor / make release-major
      
      • Aktualisiert Versionen.
      • Erstellt oder verwendet release/X.Y.Z wieder.
      • Erstellt einen signierten Commit und pusht den Branch.
    • PR öffnen: von release/X.Y.Z in main, dann mergen, sobald CI bestanden ist.

  • Taggen und veröffentlichen

    • Signierten Tag erstellen und pushen:

      root@kitploit:~
      make release-tag VERSION=X.Y.Z
      
      • Taggt main mit vX.Y.Z (signiert).
      • CI veröffentlicht auf PyPI.
  • Manuelle Alternative

    • Branch erstellen und signiert committen:


🌐 BuildTools Web Dashboard — Jetzt live

CLI bleibt für immer kostenlos. Das Web-Dashboard ist jetzt verfügbar unter buildtools.net

Was jetzt live ist (Kostenlos + Pro)

  • 📊 DNS Benchmark — Visuelle Ergebnisse, Verlauf, basierend auf dieser CLI-Engine
  • 🔔 DNS Monitoring — Echtzeit-Benachrichtigungen, wenn sich Ihre Einträge ändern
  • 🆓 Kostenloser Tarif — Sofort starten, keine Kreditkarte erforderlich
  • 💼 Pro für 14 €/Monat — Erweiterte Aufbewahrung und Prioritäts-Support

Kommt Q2 2026

  • ⚡ HTTP Benchmark — API-Antwortzeiten und CDN-Leistung messen
  • 🔒 SSL Monitor — Zertifikatsablauf-Benachrichtigungen bevor Probleme auftreten

Kommt Q3 2026

  • 🌍 Multi-Region-Tests — Gleichzeitig von mehreren Standorten testen

→ Kostenlos anmelden bei buildtools.net


🛣️ Roadmap

✅ Aktuelles Release (CLI Edition)

  • DNS-Resolver benchmarken, vergleichen, überwachen
  • DoH-, DoT-, DNSSEC-Unterstützung (neu in diesem Release)
  • Export nach CSV, Excel, PDF, JSON

✅ Web-Dashboard (Live)

  • DNS-Benchmark mit visuellem Verlauf
  • DNS-Monitoring mit Echtzeit-Benachrichtigungen
  • Kostenloser Tarif + Pro für 14 €/Monat
  • buildtools.net

🔜 Kommt Q2 2026

  • HTTP Benchmark
  • SSL Monitor

Q3 2026

  • Multi-Region-Tests

🤝 Mitwirken

Wir lieben Beiträge! So können Sie helfen:

Möglichkeiten zum Mitwirken

  • 🐛 Fehler melden - Ein Issue öffnen
  • 💡 Funktionen vorschlagen - Eine Diskussion starten
  • 📝 Dokumentation verbessern - README, Beispiele, Tutorials
  • 🔧 PRs einreichen - Fehlerbehebungen, Funktionen, Tests
  • ⭐ Repo mit einem Stern markieren - Helfen Sie anderen, das Tool zu entdecken
  • 📢 Weitersagen - Twittern, bloggen, teilen

🛠 Entwicklung & Makefile-Befehle

Dieses Projekt enthält ein Makefile, um Installation, Tests und Code-Qualitätsprüfungen zu vereinfachen.```makefile .PHONY: install install-dev uninstall mypy black isort flake8 cov test clean cli-test

🔧 Install package (runtime only)

install: pip install .

🔧 Install package with dev extras (pytest, mypy, flake8, black, isort, etc.)

install-dev: pip install .[dev]

🔧 Uninstall package

uninstall: pip uninstall -y dns-benchmark-tool
dnspython pandas aiohttp click pyfiglet colorama Jinja2 weasyprint openpyxl pyyaml tqdm matplotlib
mypy black flake8 autopep8 pytest coverage isort

mypy: mypy .

isort: isort .

black: black .

flake8: flake8 src tests --ignore=E126,E501,E712,F405,F403,E266,W503 --max-line-length=88 --extend-ignore=E203

cov: coverage erase coverage run --source=src -m pytest -vv -s coverage html

test: mypy black isort flake8 cov

clean: rm -rf pycache .pytest_cache htmlcov .coverage coverage.xml
build dist *.egg-info .eggs benchmark_results cli-test:

Run only the CLI smoke tests marked with @pytest.mark.cli

pytest -vv -s -m cli tests/test_cli_commands.py

root@kitploit:~
### Häufige Verwendung

- **Nur Laufzeit installieren**  ```bash
  make install
  • Mit Entwicklungsabhängigkeiten installieren ```bash make install-dev
    root@kitploit:~
  • Führen Sie Typprüfungen, Linting, Formatierung und Tests durch ```bash make test
    root@kitploit:~
  • Nur CLI-Smoketests ausführen ```bash make cli-test
    root@kitploit:~
  • Build-/Test-Artefakte bereinigen ```bash make clean
    root@kitploit:~

Code-Richtlinien

  • Befolge den PEP 8 Style Guide
  • Füge Tests für neue Funktionen hinzu
  • Aktualisiere die Dokumentation
  • Halte PRs fokussiert und atomar

❓ FAQ

Warum ist das DNS meines ISP nicht am schnellsten?

Lokales ISP-DNS hat oft Caching-Vorteile, kann aber Folgendes vermissen:

  • Globales Anycast-Netzwerk (langsamer für entfernte Domains)
  • DNSSEC-Validierung
  • Datenschutzfunktionen (DoH/DoT)
  • Zuverlässigkeitsgarantien

Teste beide und entscheide basierend auf DEINEN Prioritäten!

Wie oft sollte ich DNS-Benchmarks durchführen?
  • Einmalig: Bei der Auswahl eines DNS-Anbieters
  • Monatlich: Für Netzwerk-Gesundheitschecks
  • Vor der Migration: Beim Wechsel des Anbieters
  • Nach Problemen: Zur Fehlerbehebung bei der Leistung
Kann ich meinen eigenen DNS-Server testen?

Ja! Füge es einfach zu einer benutzerdefinierten Resolver-JSON-Datei hinzu:```json { "resolvers": [ {"name": "My DNS", "ip": "192.168.1.1"} ] }

root@kitploit:~
</details>

<details>
<summary><b>Was ist der Unterschied zwischen der CLI und der gehosteten Version?</b></summary>

**CLI (Kostenlos für immer):**

- Führt Tests von IHREM Standort aus
- Speichert Ergebnisse lokal
- Open Source – dieselbe Engine, die auch das Dashboard antreibt

**Web-Dashboard (Live unter buildtools.net):**

- Visuelle Benchmark-Ergebnisse und Verlauf
- DNS-Überwachung mit Echtzeit-Benachrichtigungen
- Kostenlose Stufe verfügbar, Pro für 14 €/Monat
- Multi-Region-Tests kommen im Q3 2026
</details>

<details>
<summary><b>Ist dieses Tool sicher für den produktiven Einsatz?</b></summary>

Ja! Das Tool führt nur DNS-Abfragen (Leseoperationen) durch. Es führt NICHT:
- Änderungen an DNS-Einträgen durch
- Führt Angriffe aus
- Sendet Daten an externe Server (es sei denn, Sie aktivieren gehostete Funktionen)

Alle Tests sind standardmäßige DNS-Abfragen, die jeder Resolver täglich verarbeitet.

</details>

<details>
<summary><b>Warum variieren die Ergebnisse zwischen den Durchläufen?</b></summary>

Die DNS-Leistung variiert aufgrund von:
- Netzwerkbedingungen
- DNS-Caching (Resolver und zwischengeschaltet)
- Serverauslastung
- Änderungen der geografischen Weiterleitung

Führen Sie mehrere Iterationen durch (`--iterations 5`) für gleichmäßigere Ergebnisse.

</details>

---

## 🔗 Links & Support

### Offiziell

- **Website**: [buildtools.net](https://buildtools.net)
- **PyPI**: [dns-benchmark-tool](https://pypi.org/project/dns-benchmark-tool/)
- **GitHub**: [frankovo/dns-benchmark-tool](https://github.com/frankovo/dns-benchmark-tool)

### Community

- **Diskussionen**: [GitHub Discussions](https://github.com/frankovo/dns-benchmark-tool/discussions)
- **Issues**: [Fehler melden](https://github.com/frankovo/dns-benchmark-tool/issues)

### Statistiken

- **Downloads**: 1.400+ (diese Woche)
- **Aktive Benutzer**: 600+

---

## Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe Datei [LICENSE](https://github.com/net-benchmark/dns-benchmark-tool/blob/HEAD/LICENSE) für Details.

---

<div align="center">

**Mit ❤️ erstellt von [@frankovo](https://github.com/frankovo)**

Teil von [BuildTools](https://buildtools.net) – Network Performance Suite

[⭐ Auf GitHub sterne geben](https://github.com/frankovo/dns-benchmark-tool) • [📦 Von PyPI installieren](https://pypi.org/project/dns-benchmark-tool/)

</div>
Tool herunterladen
📖 Verwendungsbeispiele
  • Grundlegende Verwendung
  • Erweiterte Verwendung
  • Inline-Eingabeunterstützung für Resolver und Domänen
    • Neue Fähigkeiten
    • Rückwärtskompatibilität
    • Verwendungsbeispiele
      • Vorher (Nur Dateien funktionierten)
      • Nachher (Beides funktioniert)
      • Benannte Resolver
      • Gemischte Eingabe
      • Einzeln
  • 🔧 Dienstprogramme
    • Resolververwaltung
    • Domänenverwaltung
    • Kategorieübersicht
    • Konfigurationsverwaltung
  • Vollständige Nutzungsanleitung
    • Schneller Leistungstest
      • Netzwerkadministrator
      • ISP & Netzbetreiber
      • Entwickler & DevOps
      • Sicherheitsauditor
      • Enterprise-IT
  • 🔍 README-Anpassungen für den finalen Patch
    • Neue CLI-Optionen
  • ⚡ CLI-Befehle
    • 🚀 Top
    • 📊 Vergleichen
    • 🔄 Überwachung
    • 🌟 Befehlsübersicht
  • 📊 Analyseverbesserungen
  • ⚡ Best Practices
  • ⚙️ Konfigurationsdateien
    • Resolver-JSON-Format
    • Domänen-Textdateiformat
  • Ausgabeformate
    • CSV-Ausgaben
    • Excel-Bericht
    • PDF-Bericht
    • 📄 Optionaler PDF-Export
      • Mit PDF-Unterstützung installieren
      • Verwendung
    • ⚠️ WeasyPrint-Einrichtung (für PDF-Export)
      • 🛠 Linux (Debian/Ubuntu)
      • 🛠 macOS (Homebrew)
      • 🛠 Windows
      • ✅ Installation überprüfen
    • JSON-Export
    • Beispielkonfiguration generieren
  • Leistungsoptimierung
  • Fehlerbehebung
    • Debug-Modus
  • Automatisierung & CI
    • Cron-Jobs
    • GitHub-Actions-Beispiel
  • Screenshots
    • 1. CLI-Benchmark-Lauf
    • 2. Excel-Berichtsausgabe
    • 3. PDF-Zusammenfassung
    • 4. PDF-Diagramme
    • 5. Excel-Diagramme
    • 6. Echtzeitüberwachung
  • Hilfe erhalten
  • Release-Workflow
  • 🌐 BuildTools-Web-Dashboard – Jetzt live
    • Was jetzt live ist (Kostenlos + Pro)
    • Kommt Q2 2026
    • Kommt Q3 2026
  • 🛣️ Roadmap
    • ✅ Aktuelle Version (CLI Edition)
    • ✅ Web-Dashboard (Live)
    • 🔜 Kommt Q2 2026
      • Q3 2026
  • 🤝 Mitwirken
    • Möglichkeiten zur Mitarbeit
    • 🛠 Entwicklung & Makefile-Befehle
    • Häufige Verwendung
    • Code-Richtlinien
  • ❓ FAQ
  • 🔗 Links & Support
    • Offiziell
    • Community
    • Statistiken
  • Lizenz
  • BefehlFunktionKurzes Beispiel
    benchmarkVollständiger DNS-Benchmark mit Exportendns-benchmark benchmark --use-defaults
    topAlle Resolver nach Geschwindigkeit bewertendns-benchmark top --limit 5
    compareResolver-Vergleich nebeneinanderdns-benchmark compare Cloudflare Google Quad9
    monitoringKontinuierliche Überwachung mit Benachrichtigungendns-benchmark monitoring --use-defaults
    OptionBeschreibungBeispiel
    --iterations, -iFühre die vollständige Benchmark-Schleife N mal ausdns-benchmark benchmark --use-defaults -i 3
    --use-cacheErlaube die Wiederverwendung von zwischengespeicherten Ergebnissen über Iterationen hinwegdns-benchmark benchmark --use-defaults -i 3 --use-cache
    --warmupFühre einen vollständigen Warmup durch (alle Resolver × Domains × Record-Typen)dns-benchmark benchmark --use-defaults --warmup
    --warmup-fastFühre einen leichgewichtigen Warmup durch (ein Test pro Resolver)dns-benchmark benchmark --use-defaults --warmup-fast
    --include-chartsBette Diagramme und Grafiken in PDF/Excel-Berichte ein für visuelle Leistungsanalysedns-benchmark benchmark --use-defaults --formats pdf,excel --include-charts
    ModusEmpfohlene FlagsZweck
    Schnelllauf--iterations 1 --timeout 1 --retries 0 --warmup-fastSchnelles Feedback, minimale Wiederholungen, leichtes Aufwärmen. Gut für schnelle Überprüfungen.
    Gründlicher Lauf--iterations 3 --use-cache --warmup --timeout 5 --retries 2Mehrere Durchläufe, Cache aktiviert, vollständiges Aufwärmen. Am besten für detaillierte Benchmarks.
    Debug-Modus--iterations 1 --timeout 10 --retries 0 --quietLanges Timeout, keine Wiederholungen, minimale Ausgabe. Nützlich zur Diagnose von Resolver-Problemen.
    Ausgeglichener Lauf--iterations 2 --use-cache --warmup-fast --timeout 2 --retries 1Ein Mittelweg: moderate Geschwindigkeit, einige Wiederholungen, Cache aktiviert, schnelles Aufwärmen.
    root@kitploit:~
    git checkout -b release/manually-update-version-based-on-release-pattern
    git add .
    git commit -S -m "Release release/$NEXT_VERSION"
    git push origin release/$NEXT_VERSION
    
  • PR öffnen und in main mergen.

  • Dann taggen:

    root@kitploit:~
    make release-tag VERSION=$NEXT_VERSION
    
  • Hinweise

    • Signierte Commits: git commit -S ...
    • Signierte Tags: git tag -s vX.Y.Z -m "Release vX.Y.Z"
    • Versionsquellen: pyproject.toml und src/dns_benchmark/__init__.py