Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dns-benchmark-tool — Test delle prestazioni DNS rapido e completo con validazione DNSSEC, supporto DoH/DoT e funzionalità enterprise. | Kitploit
Strumenti/GitHubGitHub/net-benchmark/dns-benchmark-tool
Strumenti di Crittografia/DecrittografiaMappatura della ReteSicurezza di RetePrivacyAnalisi DNSArchived
GitHubnet-benchmark/dns-benchmark-tool

dns-benchmark-tool

Test delle prestazioni DNS rapido e completo con validazione DNSSEC, supporto DoH/DoT e funzionalità enterprise.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
Sito web
363123 mesi faRevisionato da Kitploit

⚠️ questo progetto è stato spostato e non è più mantenuto. installa il successore: pip install net-benchmark repository: https://github.com/net-benchmark/net-benchmark tutti i comandi e flag esistenti rimangono completamente compatibili.


DNS Benchmark Tool

Parte di BuildTools - Network Performance Suite

Test delle prestazioni DNS veloci e completi con validazione DNSSEC, supporto DoH/DoT e funzionalità enterprise```bash pip install dns-benchmark-tool dns-benchmark benchmark --use-defaults --formats csv,excel

root@kitploit:~
> 🎉 **1.400+ download · 600+ utenti attivi**
> 🚀 **Il web dashboard è ora disponibile!** [Prova BuildTools gratuitamente →](https://buildtools.net)

---

**Tracciamento in Tempo Reale**

[![Real Time Tracking](https://assets.kitploit.com/production/public/readmes/9801/abc3e3079146e364e8a291edc0e19bfcaf931bcd7a3db5d7a8d9daf5ed565e94.gif)](https://github.com/frankovo/dns-benchmark-tool)
*Guarda le query DNS in movimento*

**Tracciamento in Tempo Reale - Interfaccia Web**
[![Real Time Tracking - Web UI](https://assets.kitploit.com/production/public/readmes/9801/02b1a1ab9d814fa4de537464def46493c36f96a5d0787a13c2d14eb07dfc2d11.gif)](https://github.com/frankovo/dns-benchmark-tool)
*Monitora le query DNS in tempo reale con avvisi email*

</div>

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

Abbiamo aggiunto **tre potenti comandi CLI** e il supporto completo per **DoH, DoT e DNSSEC**:

- 🚀 **top** — classifica rapida dei resolver per velocità e affidabilità
- 📊 **compare** — benchmarking affiancato con statistiche dettagliate e opzioni di esportazione
- 🔄 **monitoring** — monitoraggio continuo delle prestazioni con avvisi e logging
- 🔒 **DoH / DoT / DNSSEC** — benchmark DNS crittografato con dati reali sul compromesso della latenza```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

📈 Punti salienti della community

  • ⭐ Stelle: Cresciute da 7 a 110+ dopo la pubblicazione su Hacker News
  • 📦 Download: Ripresi a 200+/giorno dopo un iniziale stallo
  • 🐘 Mastodon: Condiviso anche lì, ma il vero incremento è arrivato da HN
  • 💬 Feedback: Input costruttivi dalla community di HN hanno plasmato direttamente le patch v0.3.0 → v0.3.1
  • 🚀 Lezione: La visibilità su Hacker News è stata il catalizzatore per lo slancio nell'adozione

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

Sommario

  • Strumento di Benchmark DNS
    • Parte di BuildTools - Suite di Prestazioni di Rete
    • 🎉 Novità in
    • 📈 Punti salienti della community
    • Sommario
    • 🎯 Perché Questo Strumento?
      • Il Problema
      • La Soluzione
      • Perfetto Per
    • Avvio rapido
      • Installazione
      • Esegui il tuo primo benchmark
      • Visualizza i risultati
    • ⚡ Comandi a colpo d'occhio
    • ✨ Caratteristiche principali
      • 🚀 Prestazioni
      • 🔒 Sicurezza e Privacy
      • 📊 Analisi ed Esportazione
      • 🏢 Funzionalità Aziendali
      • 🌐 Multipiattaforma
    • 🔒 Sicurezza e DNS crittografato
    • 🔧 Capacità Avanzate
    • 💼 Casi d'Uso
      • 🔧 Per Sviluppatori: Ottimizza le Prestazioni delle API
      • 🛡️ Per DevOps/SRE: Convalida Prima della Migrazione
      • 🏠 Per Self-Hoster: Dimostra le Prestazioni di Pi-hole
      • 📊 Per Amministratori di Rete: Controlli Sanitari Automatici
      • 🔐 Per Sostenitori della Privacy: Testa DNS Crittografato
    • 📦 Installazione e Configurazione
      • Requisiti
      • Installa da PyPI
      • Installa da Sorgente
      • Verifica l'Installazione
      • Prima Esecuzione

🎯 Perché Questo Strumento?

La risoluzione DNS è spesso il collo di bottiglia nascosto nelle prestazioni di rete. Un resolver lento può aggiungere centinaia di millisecondi a ogni richiesta.

Il Problema

  • ⏱️ Collo di bottiglia nascosto: Il DNS può aggiungere 300ms+ a ogni richiesta
  • 🤷 Prestazioni sconosciute: La maggior parte degli sviluppatori non testa mai il proprio DNS
  • 🌍 La posizione conta: Il resolver "più veloce" dipende da DOVE ti trovi
  • 🔒 La sicurezza varia: Il supporto per DNSSEC, DoH, DoT è molto diverso

La Soluzione

dns-benchmark-tool ti aiuta a:

  • 🔍 Trovare il resolver DNS più veloce per la TUA posizione
  • 📊 Ottenere dati reali - P95, P99, jitter, punteggi di coerenza
  • 🛡️ Convalidare la sicurezza - Verifica DNSSEC integrata
  • 🚀 Testare su larga scala - 100+ query simultanee in pochi secondi

Perfetto Per

  • ✅ Sviluppatori che ottimizzano le prestazioni delle API
  • ✅ DevOps/SRE che convalidano gli SLA dei resolver
  • ✅ Self-hoster che confrontano Pi-hole/Unbound con DNS pubblici
  • ✅ Amministratori di rete che eseguono controlli di conformità

Avvio rapido

Installazione```bash

pip install dns-benchmark-tool

root@kitploit:~
### Esegui il tuo primo benchmark```bash
# Test default resolvers against popular domains
dns-benchmark benchmark --use-defaults --formats csv,excel

Visualizza risultati

I risultati vengono salvati automaticamente in ./benchmark_results/ con:

  • Riepilogo CSV con statistiche
  • Dati grezzi dettagliati
  • Report opzionali PDF/Excel

Tutto qui! Hai appena eseguito il benchmark di 5 resolver DNS su 10 domini.


⚡ Comandi in sintesi

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:~
---

## ✨ Caratteristiche Principali

### 🚀 Prestazioni

- **Query asincrone** - Testa oltre 100 resolver simultaneamente
- **Iterazioni multiple** - Esegui benchmark più volte per precisione
- **Analisi statistica** - Media, mediana, P95, P99, jitter, coerenza
- **Controllo cache** - Test con/senza caching DNS

### 🔒 Sicurezza e Privacy

- **Validazione DNSSEC** - Verifica le catene di fiducia crittografiche
- **DNS-over-HTTPS (DoH)** - Benchmark DNS crittografato
- **DNS-over-TLS (DoT)** - Test di trasporto sicuro
- **DNS-over-QUIC (DoQ)** - Supporto sperimentale per QUIC

### 📊 Analisi e Esportazione

- **Formati multipli** - CSV, Excel, PDF, JSON
- **Report visivi** - Grafici e diagrammi
- **Statistiche per dominio** - Analisi delle prestazioni per dominio
- **Suddivisione errori** - Identifica resolver problematici

### 🏢 Funzionalità Aziendali

- **Autenticazione TSIG** - Query aziendali sicure
- **Trasferimenti di zona** - Validazione AXFR/IXFR
- **Aggiornamenti dinamici** - Test delle operazioni di scrittura DNS
- **Report di conformità** - Documentazione pronta per audit

### 🌐 Multipiattaforma

- **Linux, macOS, Windows** - Funziona ovunque
- **Adatto a CI/CD** - Output JSON, codici di uscita
- **Supporto IDNA** - Nomi di dominio internazionalizzati
- **Rilevamento automatico** - Rilevamento DNS WMI di Windows

---

## 🔒 Sicurezza e DNS Crittografato

Tre protocolli sono completamente supportati — ciascuno aggiunge privacy a costo di latenza.

| Protocollo | Flag | Overhead tipico | Quando usarlo |
|---|---|---|---|
| UDP semplice | *(predefinito)* | baseline | Benchmark di latenza |
| DNS-over-HTTPS | `--doh` | +50–200ms | Privacy, bypass firewall |
| DNS-over-TLS | `--dot` | +200–500ms freddo, ~50ms caldo | Trasporto crittografato |
| DNSSEC | `--dnssec-validate` | +30–100ms | Validazione integrità resolver |

> ⚠️ **Compromessi**
> - DoH e DoT aggiungono overhead di handshake TLS alla prima query per resolver. Usa `--warmup-fast` per assorbirlo prima della misurazione.
> - `--dnssec-validate` richiede record RRSIG e impone il flag AD. Solo circa il 33% dei domini comuni è firmato DNSSEC — aspettati risultati `DNSSEC_FAILED` sui domini non firmati. I numeri di latenza con e senza questo flag **non sono direttamente confrontabili**.
> - I risultati su mobile/hotspot mostreranno una varianza 2–5× superiore rispetto all'ethernet cablata. Usa `--iterations 5` e confronta la latenza mediana, non la media.```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

Esempi di fallimento precoce — questi falliscono immediatamente prima che venga eseguita qualsiasi query:```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:~
---

## 🔧 Capacità Avanzate

---
> ⚠️ Questi flag sono **documentati per visibilità** ma non ancora implementati.  
> Rappresentano funzionalità avanzate in arrivo.

- `--zone-transfer` → Test di trasferimento di zona AXFR/IXFR *(in arrivo)*
- `--tsig` → Query autenticate TSIG *(in arrivo)*
- `--idna` → Supporto per nomi di dominio internazionalizzati *(in arrivo)*

---

<details>
<summary><b>🚀 Funzionalità di Prestazioni e Concorrenza</b></summary>

<br>

- **Async I/O con dnspython** - Testa 100+ resolver contemporaneamente
- **Supporto framework Trio** - Operazioni asincrone ad alta concorrenza
- **Concorrenza configurabile** - Controlla il massimo di query concorrenti
- **Logica di retry** - Backoff esponenziale per query fallite
- **Simulazione cache** - Test con/senza caching DNS
- **Benchmark multi-iterazione** - Esegui test più volte per accuratezza
- **Fase di warmup** - Pre-riscalda le cache DNS prima del test
- **Analisi statistica** - Media, mediana, P95, P99, jitter, punteggi di consistenza

**Esempio:**```bash
dns-benchmark benchmark \
  --max-concurrent 200 \
  --iterations 5 \
  --timeout 3.0 \
  --warmup
🔒 Funzionalità di Sicurezza e Privacy
  • DNSSEC validation - Verificare le catene di fiducia crittografiche
  • DNS-over-HTTPS (DoH) - Benchmark DNS crittografato tramite HTTPS
  • DNS-over-TLS (DoT) - Test del livello di trasporto sicuro
  • DNS-over-QUIC (DoQ) - Supporto sperimentale del protocollo QUIC
  • TSIG authentication - Firme di transazione per DNS aziendali
  • EDNS0 support - Funzionalità DNS estese e payload più grandi

Esempio:```bash

Test DoH resolvers

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

root@kitploit:~
</details>

<details>
<summary><b>🏢 Funzionalità Enterprise e Migrazione</b></summary>

<br>

- **Trasferimenti di zona (AXFR/IXFR)** - Validazione del trasferimento di zona completo e incrementale
- **Aggiornamenti DNS dinamici** - Test delle operazioni di scrittura e aggiornamenti DNS
- **Supporto EDNS0** - Opzioni DNS estese, sottorete client, payload più grandi
- **Integrazione WMI di Windows** - Rilevamento automatico delle impostazioni DNS di sistema attive
- **Report di conformità** - Genera report PDF/Excel pronti per l'audit
- **Validazione SLA** - Monitoraggio dei tempi di attività e delle soglie di prestazione

**Esempio:**```bash
# Validate DNS migration
dns-benchmark benchmark \
  --resolvers old-provider.json,new-provider.json \
  --zone-transfer \ # coming soon
  --output migration-report/ \
  --formats pdf,excel
📊 Funzionalità di Analisi e Report
  • Statistiche per dominio - Analizza le prestazioni per dominio
  • Statistiche per tipo di record - Confronta A, AAAA, MX, TXT, ecc.
  • Ripartizione degli errori - Categorizza e conta i tipi di errore
  • Matrici di confronto - Confronto affiancato tra resolver
  • Analisi delle tendenze - Prestazioni nel tempo (con esecuzioni multiple)
  • Migliore per criterio - Trova il miglior resolver per latenza/affidabilità/consistenza

Esempio:```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>🌐 Internazionalizzazione e compatibilità</b></summary>

<br>

- **Supporto IDNA** - Nomi di dominio internazionalizzati (IDN)
- **Tipi di record multipli** - A, AAAA, MX, TXT, CNAME, NS, SOA, PTR, SRV, CAA
- **Multipiattaforma** - Linux, macOS, Windows (supporto nativo)
- **Integrazione CI/CD** - Output JSON, codici di uscita appropriati, modalità silenziosa
- **Resolver personalizzati** - Caricamento da JSON, test dei propri server DNS
- **Domini personalizzati** - Test con la propria lista di domini specifica

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

💡 La maggior parte degli utenti ha bisogno solo delle funzionalità di base. Queste capacità avanzate sono disponibili quando ne hai bisogno.


💼 Casi d'Uso

🔧 Per Sviluppatori: Ottimizza le Performance delle API```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:~
**Risultato:** Riduci la latenza dell'API di 100-300ms

---

### 🛡️ Per DevOps/SRE: Convalida prima della migrazione```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

Risultato: Verifica prestazioni e sicurezza prima della migrazione


🏠 Per gli auto-ospitanti: Prova le prestazioni di Pi-hole```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:~
**Risultato:** Prova basata sui dati che il tuo DNS self-hosted è più veloce (o no!)

---

### 📊 Per Amministratori di Rete: Controlli di Salute Automatizzati```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

Risultato: Report automatizzato di conformità e SLA


🔐 Per i sostenitori della privacy: testa il DNS crittografato```bash

Benchmark privacy-focused DoH/DoT resolvers

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

root@kitploit:~
**Risultato:** Trova il DNS crittografato più veloce senza sacrificare la privacy

---

## 📦 Installazione e Configurazione

### Requisiti

- Python 3.9+
- pip (gestore di pacchetti)

### Installazione da PyPI```bash
pip install dns-benchmark-tool

Installa dal codice sorgente```bash

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

root@kitploit:~
### Verifica dell'installazione```bash
dns-benchmark --version
dns-benchmark --help

Prima Esecuzione```bash

Test with defaults (recommended for first time)

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

root@kitploit:~
---

## 📖 Esempi di Utilizzo

### Utilizzo Base```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

Utilizzo Avanzato```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:~
---

⚠️ **Nota per i nuovi comandi:** I resolver senza query riuscite sono esclusi dalla classifica e visualizzeranno `Avg Latency: N/A`.

---

## Supporto per input inline per resolver e domini

Questa patch introduce il supporto completo per valori inline separati da virgola per i flag `--resolvers` e `--domains`, risolvendo il problema [#39](https://github.com/frankovo/dns-benchmark-tool/issues/39) e migliorando l'usabilità della CLI senza interrompere i flussi di lavoro esistenti.

### Nuove funzionalità

1. **resolver inline**: `--resolvers "1.1.1.1,8.8.8.8,9.9.9.9"`
2. **domini inline**: `--domains "google.com,github.com"`
3. **valori singoli**: `--resolvers "1.1.1.1"` o `--domains "google.com"`
4. **resolver nominati**: `--resolvers "cloudflare,google,quad9"`
5. **input misto**: `--resolvers "1.1.1.1,cloudflare,8.8.8.8"`

### Compatibilità all'indietro

- tutte le configurazioni esistenti basate su file continuano a funzionare
- nessuna modifica di rottura alla CLI
- il rilevamento dei file ha priorità rispetto all'analisi inline

### Esempi di utilizzo

#### Prima (Funzionavano solo i file)```bash
dns-benchmark benchmark \
    --resolvers data/resolvers.json \
    --domains data/domains.txt

Dopo (Entrambi funzionano)```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:~
#### Resolver con nome```bash
# Named resolvers
dns-benchmark benchmark \
    --resolvers "Cloudflare,Google,Quad9" \
    --domains "google.com,github.com" \
    --timeout 10 \
    --retries 3 \
    --formats csv \
    --output ./troubleshooting_named

Input misto```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:~
#### Singolo```bash

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

🔧 Utilità

Gestione Risolver```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:~
### Gestione dei domini```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

Panoramica delle categorie```bash

View all available categories

dns-benchmark list-categories

root@kitploit:~
### Gestione della configurazione```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

Guida completa all'uso

Test rapido delle prestazioni```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:~
Flag di analisi aggiuntive:```bash
# Include domain and record-type analytics and error breakdown
dns-benchmark benchmark --use-defaults \
  --domain-stats --record-type-stats --error-breakdown

Esportazione JSON:```bash

Export a machine-readable bundle

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

root@kitploit:~
#### Amministratore di rete```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 & operatore di rete```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:~
#### Sviluppatore & 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

Auditor di sicurezza```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:~
#### IT aziendale```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

🔍 Modifiche al README per la Patch Finale

Nuove Opzioni CLI


⚡ Comandi CLI

Il DNS Benchmark Tool ora include tre comandi specializzati per diversi flussi di lavoro:

🚀 Top

Classifica rapidamente i resolver in base a velocità e affidabilità.```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:~
### 📊 Confronta

Confronta i resolver affiancati con statistiche dettagliate.```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

🔄 Monitoraggio

Monitora continuamente le prestazioni del resolver con avvisi.```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:~
---

### 🌟 Vetrina dei Comandi

| Comando      | Scopo | Caso d'uso tipico | Opzioni chiave | Output |
|--------------|-------|-------------------|----------------|--------|
| **top**      | Classifica rapida dei resolver per velocità e affidabilità | Controllo rapido per vedere quale resolver è il migliore in questo momento | `--domains`, `--record-types`, `--output` | Elenco ordinato dei resolver con latenza e tasso di successo |
| **compare**  | Confronto affiancato di resolver specifici | Benchmark dettagliato tra resolver/domini scelti | `--domains`, `--record-types`, `--iterations`, `--output`, `--show-details` | Tabella dei resolver con latenza, tasso di successo, ripartizione per dominio |
| **monitoring** | Monitoraggio continuo con avvisi | Tracciamento in tempo reale delle prestazioni del resolver nel tempo | `--interval`, `--duration`, `--alert-latency`, `--alert-failure-rate`, `--output`, `--use-defaults` | Indicatori di stato in tempo reale, avvisi, file di log opzionale |

---

## 📊 Miglioramenti all'Analisi

- **Conteggio iterazioni**: visualizzato quando viene eseguita più di una iterazione.  
- **Colpi in cache**: mostra quante query sono state servite dalla cache (quando `--use-cache` è abilitato).  
- **Tracciamento degli errori**: i resolver con errori ripetuti vengono contati e possono essere ispezionati con `get_failed_resolvers()`.  
- **Statistiche della cache**: disponibili tramite `get_cache_stats()`, mostrano il numero di voci in cache e se la cache è abilitata.  
- **Risultati di riscaldamento**: le query di riscaldamento sono contrassegnate con `iteration=0` nei dati grezzi, rendendo facile filtrarle nell'analisi.  

Esempio di output riepilogativo:```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%)

⚡ Migliori Pratiche

⚙️ File di Configurazione

Formato JSON dei Resolver```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:~
### Formato file di testo dei domini```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

Formati di output

Output CSV

  • Dati grezzi: risultati delle singole query con timestamp e metadati
  • Statistiche riassuntive: metriche aggregate per resolver
  • Statistiche per dominio: metriche per dominio (quando --domain-stats)
  • Statistiche per tipo di record: metriche per tipo di record (quando --record-type-stats)
  • Ripartizione errori: conteggi per tipo di errore (quando --error-breakdown)

Report Excel

  • Foglio dati grezzi: tutti i risultati delle query con formattazione
  • Riepilogo resolver: statistiche complete con formattazione condizionale
  • Statistiche dominio: prestazioni per dominio (opzionale)
  • Statistiche tipo di record: prestazioni per tipo di record (opzionale)
  • Ripartizione errori: conteggi aggregati degli errori (opzionale)
  • Analisi delle prestazioni: grafici e analisi comparative

Report PDF

  • Riepilogo esecutivo: risultati principali e raccomandazioni
  • Grafici delle prestazioni: confronto latenza; grafico facoltativo del tasso di successo
  • Classifica resolver: ordinati per latenza media
  • Analisi dettagliata: approfondimento tecnico con percentili

📄 Esportazione PDF opzionale

Per impostazione predefinita, lo strumento supporta esportazioni CSV ed Excel.
L'esportazione PDF richiede la dipendenza aggiuntiva weasyprint, che non viene installata automaticamente per evitare problemi di esecuzione su alcune piattaforme.

Installazione con supporto PDF```bash

pip install dns-benchmark-tool[pdf]

root@kitploit:~
#### Utilizzo

Una volta installato, puoi richiedere l'output PDF tramite la CLI:```bash
dns-benchmark --use-defaults --formats pdf --output ./results

Se weasyprint non è installato e richiedi un output PDF, la CLI mostrerà:```bash [-] Error during benchmark: PDF export requires 'weasyprint'. Install with: pip install dns-benchmark-tool[pdf]

root@kitploit:~
---

### ⚠️ Configurazione di WeasyPrint (per esportazione PDF)

Il DNS Benchmark Tool utilizza **WeasyPrint** per generare report PDF.  
Se desideri l'esportazione PDF, hai bisogno di librerie di sistema aggiuntive oltre al pacchetto Python.

#### 🛠 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

Installa le librerie GTK+ usando uno di questi metodi:

- **MSYS2**: [Scarica MSYS2](https://www.msys2.org/), quindi esegui:  ```bash
  pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-libffi
  • Installatore GTK+ 64‑bit: Download GTK+ Runtime ed esegui il programma di installazione.

Riavvia il terminale dopo l'installazione.


✅ Verifica dell'installazione

Dopo aver installato le librerie di sistema, installa il pacchetto Python extra:```bash pip install dns-benchmark-tool[pdf]

root@kitploit:~
Poi esegui:```bash
dns-benchmark --use-defaults --formats pdf --output ./results

Esportazione JSON

  • Pacchetto leggibile da macchina includente:
    • Statistiche generali
    • Statistiche del resolver
    • Risultati grezzi delle query
    • Statistiche del dominio
    • Statistiche per tipo di record
    • Ripartizione degli errori

Genera Configurazione di Esempio```bash

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

root@kitploit:~
## Ottimizzazione delle prestazioni```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

Risoluzione dei problemi```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:~
### Modalità di debug```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

Automazione e CI

Job di Cron```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 esempio```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

Schermate

Posiziona le immagini 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. Esecuzione del benchmark CLI

Esecuzione del benchmark CLI

2. Output report Excel

Output report Excel

3. Riepilogo esecutivo PDF

Riepilogo esecutivo PDF

4. Grafici PDF

Grafici PDF

5. Grafici Excel

Grafici Excel

6. Monitoraggio in tempo reale

Monitoraggio in tempo reale


Ottenere aiuto```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:~
Scenari comuni:```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

Flusso di lavoro per il rilascio

  • Prerequisiti

    • Chiave GPG configurata: esegui make gpg-check per verificare.
    • Protezione del branch: main richiede commit firmati e CI superato.
    • Pubblicazione CI: attivata su tag firmati che corrispondono a vX.Y.Z.
  • Prepara rilascio (firmato)

    • Bump patch/minor/major:

      root@kitploit:~
      make release-patch      # oppure: make release-minor / make release-major
      
      • Aggiorna le versioni.
      • Crea o riutilizza release/X.Y.Z.
      • Effettua un commit firmato e push del branch.
    • Apri PR: da release/X.Y.Z verso main, poi unisci una volta che il CI è superato.

  • Tagga e pubblica

    • Crea tag firmato e push:

      root@kitploit:~
      make release-tag VERSION=X.Y.Z
      
      • Taggia main con vX.Y.Z (firmato).
      • Il CI pubblica su PyPI.
  • Alternativa manuale

    • Crea branch e commit firmato:

      root@kitploit:~

🌐 Dashboard Web di BuildTools — Ora disponibile

La CLI rimane gratuita per sempre. La dashboard web è ora disponibile su buildtools.net

Cosa è disponibile ora (Gratuito + Pro)

  • 📊 DNS Benchmark — Risultati visivi, cronologia, basati su questo motore CLI
  • 🔔 Monitoraggio DNS — Avvisi in tempo reale quando i tuoi record cambiano
  • 🆓 Piano gratuito — Inizia subito, senza carta di credito richiesta
  • 💼 Pro a €14/mese — Conservazione estesa e supporto prioritario

In arrivo Q2 2026

  • ⚡ Benchmark HTTP — Misura i tempi di risposta delle API e le prestazioni della CDN
  • 🔒 Monitoraggio SSL — Avvisi di scadenza dei certificati prima che si verifichino problemi

In arrivo Q3 2026

  • 🌍 Test multi-regione — Testa da più posizioni contemporaneamente

→ Registrati gratuitamente su buildtools.net


🛣️ Roadmap

✅ Versione corrente (Edizione CLI)

  • Esegui benchmark, confronta e monitora i resolver DNS
  • Supporto DoH, DoT, DNSSEC (nuovo in questa versione)
  • Esporta in CSV, Excel, PDF, JSON

✅ Dashboard Web (Live)

  • Benchmark DNS con cronologia visiva
  • Monitoraggio DNS con avvisi in tempo reale
  • Piano gratuito + Pro a €14/mese
  • buildtools.net

🔜 In arrivo Q2 2026

  • Benchmark HTTP
  • Monitoraggio SSL

Q3 2026

  • Test multi-regione

🤝 Contribuire

Adoriamo i contributi! Ecco come puoi aiutare:

Modi per contribuire

  • 🐛 Segnala bug - Apri un problema
  • 💡 Suggerisci funzionalità - Avvia una discussione
  • 📝 Migliora la documentazione - README, esempi, tutorial
  • 🔧 Invia PR - Correzioni di bug, funzionalità, test
  • ⭐ Metti una stella al repository - Aiuta altri a scoprire lo strumento
  • 📢 Diffondi la parola - Twitta, blogga, condividi

🛠 Comandi di sviluppo e Makefile

Questo progetto include un Makefile per semplificare installazione, test e controlli di qualità del codice.```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:~
### Utilizzo comune

- **Installa solo il runtime**  ```bash
  make install
  • Installa con le dipendenze di sviluppo ```bash make install-dev
    root@kitploit:~
  • Esegui controlli di tipo, linting, formattazione e test ```bash make test
    root@kitploit:~
  • Esegui solo test di fumo CLI ```bash make cli-test
    root@kitploit:~
  • Pulire gli artefatti di build/test ```bash make clean
    root@kitploit:~

Linee guida del codice

  • Segui la guida di stile PEP 8
  • Aggiungi test per le nuove funzionalità
  • Aggiorna la documentazione
  • Mantieni le PR mirate e atomiche

❓ Domande Frequenti

Perché il DNS del mio ISP non è il più veloce?

Il DNS dell'ISP locale ha spesso vantaggi di caching ma potrebbe mancare di:

  • Rete anycast globale (più lenta per domini distanti)
  • Validazione DNSSEC
  • Funzionalità di privacy (DoH/DoT)
  • Garanzie di affidabilità

Testa entrambi e decidi in base alle TUE priorità!

Con quale frequenza dovrei eseguire il benchmark del DNS?
  • Una tantum: Quando si sceglie un provider DNS
  • Mensile: Per controlli di salute della rete
  • Prima della migrazione: Quando si cambia provider
  • Dopo problemi: Per risolvere problemi di performance
Posso testare il mio server DNS?

Sì! Basta aggiungerlo a un file JSON di risolutori personalizzati:```json { "resolvers": [ {"name": "My DNS", "ip": "192.168.1.1"} ] }

root@kitploit:~
</details>

<details>
<summary><b>Qual è la differenza tra la versione CLI e quella hosted?</b></summary>

**CLI (Gratuito per sempre):**

- Esegui test dalla TUA posizione
- Salva i risultati localmente
- Open source — lo stesso motore che alimenta la dashboard

**Web Dashboard (Live su buildtools.net):**

- Risultati benchmark visivi e cronologia
- Monitoraggio DNS con avvisi in tempo reale
- Livello gratuito disponibile, Pro a €14/mese
- Test multi-regione in arrivo nel Q3 2026
</details>

<details>
<summary><b>Questo strumento è sicuro da usare in produzione?</b></summary>

Sì! Lo strumento esegue solo query DNS (operazioni di lettura). NON:
- Modifica i record DNS
- Esegue attacchi
- Invia dati a server esterni (a meno che non si abilitino le funzionalità in hosting)

Tutti i test sono query DNS standard che qualsiasi resolver gestisce quotidianamente.

</details>

<details>
<summary><b>Perché i risultati variano tra un'esecuzione e l'altra?</b></summary>

Le prestazioni DNS variano a causa di:
- Condizioni di rete
- Cache DNS (resolver e intermediario)
- Carico del server
- Cambiamenti di routing geografico

Esegui più iterazioni (`--iterations 5`) per risultati più consistenti.

</details>

---

## 🔗 Link e Supporto

### Ufficiale

- **Sito web**: [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)

### Comunità

- **Discussioni**: [GitHub Discussions](https://github.com/frankovo/dns-benchmark-tool/discussions)
- **Segnalazioni di bug**: [Bug Reports](https://github.com/frankovo/dns-benchmark-tool/issues)

### Statistiche

- **Download**: 1,400+ (questa settimana)
- **Utenti attivi**: 600+

---

## Licenza

Questo progetto è concesso in licenza sotto la licenza MIT — vedi il file [LICENSE](https://github.com/net-benchmark/dns-benchmark-tool/blob/HEAD/LICENSE) per i dettagli.

---

<div align="center">

**Realizzato con ❤️ da [@frankovo](https://github.com/frankovo)**

Parte di [BuildTools](https://buildtools.net) - Suite per le prestazioni di rete

[⭐ Metti stella su GitHub](https://github.com/frankovo/dns-benchmark-tool) • [📦 Installa da PyPI](https://pypi.org/project/dns-benchmark-tool/)

</div>
Scarica lo strumento
  • 📖 Esempi d'Uso
    • Uso Base
    • Uso Avanzato
  • Supporto input inline per resolver e domini
    • Nuove capacità
    • Compatibilità con le versioni precedenti
    • Esempi d'Uso
      • Prima (Funzionavano solo i file)
      • Dopo (Funzionano entrambi)
      • Resolver nominativi
      • Input misto
      • Singolo
  • 🔧 Utility
    • Gestione dei resolver
    • Gestione dei domini
    • Panoramica categorie
    • Gestione della configurazione
  • Guida completa all'uso
    • Test rapido delle prestazioni
      • Amministratore di rete
      • ISP e operatore di rete
      • Sviluppatore e DevOps
      • Auditor di sicurezza
      • IT Aziendale
  • 🔍 Modifiche al README per la Patch Finale
    • Nuove Opzioni CLI
  • ⚡ Comandi CLI
    • 🚀 Top
    • 📊 Confronto
    • 🔄 Monitoraggio
    • 🌟 Vetrina dei Comandi
  • 📊 Miglioramenti dell'Analisi
  • ⚡ Buone Pratiche
  • ⚙️ File di Configurazione
    • Formato JSON dei resolver
    • Formato file di testo dei domini
  • Formati di output
    • Output CSV
    • Report Excel
    • Report PDF
    • 📄 Esportazione PDF Opzionale
      • Installa con supporto PDF
      • Uso
    • ⚠️ Configurazione WeasyPrint (per esportazione PDF)
      • 🛠 Linux (Debian/Ubuntu)
      • 🛠 macOS (Homebrew)
      • 🛠 Windows
      • ✅ Verifica Installazione
    • Esportazione JSON
    • Genera Configurazione di Esempio
  • Ottimizzazione delle prestazioni
  • Risoluzione dei problemi
    • Modalità debug
  • Automazione e CI
    • Cron jobs
    • Esempio GitHub Actions
  • Screenshot
    • 1. Esecuzione Benchmark CLI
    • 2. Output Report Excel
    • 3. Riepilogo Esecutivo PDF
    • 4. Grafici PDF
    • 5. Grafici Excel
    • 6. Monitoraggio in Tempo Reale
  • Ottenere aiuto
  • Flusso di rilascio
  • 🌐 Dashboard Web BuildTools — Ora Attivo
    • Cosa è attivo ora (Gratuito + Pro)
    • In arrivo Q2 2026
    • In arrivo Q3 2026
  • 🛣️ Roadmap
    • ✅ Rilascio Corrente (Edizione CLI)
    • ✅ Dashboard Web (Attivo)
    • 🔜 In arrivo Q2 2026
      • Q3 2026
  • 🤝 Contribuire
    • Modi per Contribuire
    • 🛠 Sviluppo e Comandi Makefile
    • Uso comune
    • Linee Guida per il Codice
  • ❓ FAQ
  • 🔗 Link e Supporto
    • Ufficiale
    • Community
    • Statistiche
  • Licenza
  • ComandoCosa faEsempio rapido
    benchmarkBenchmark DNS completo con esportazionidns-benchmark benchmark --use-defaults
    topClassifica tutti i resolver per velocitàdns-benchmark top --limit 5
    compareConfronto affiancato dei resolverdns-benchmark compare Cloudflare Google Quad9
    monitoringMonitoraggio continuo con avvisidns-benchmark monitoring --use-defaults
    OpzioneDescrizioneEsempio
    --iterations, -iEsegui il ciclo completo di benchmark N voltedns-benchmark benchmark --use-defaults -i 3
    --use-cacheConsenti il riutilizzo dei risultati in cache tra le iterazionidns-benchmark benchmark --use-defaults -i 3 --use-cache
    --warmupEsegui un riscaldamento completo (tutti i resolver × domini × tipi di record)dns-benchmark benchmark --use-defaults --warmup
    --warmup-fastEsegui un riscaldamento leggero (un probe per resolver)dns-benchmark benchmark --use-defaults --warmup-fast
    --include-chartsIncorpora grafici nei report PDF/Excel per l'analisi visiva delle prestazionidns-benchmark benchmark --use-defaults --formats pdf,excel --include-charts
    ModalitàFlag ConsigliatiScopo
    Esecuzione Rapida--iterations 1 --timeout 1 --retries 0 --warmup-fastFeedback rapido, tentativi minimi, warmup leggero. Ideale per controlli veloci.
    Esecuzione Approfondita--iterations 3 --use-cache --warmup --timeout 5 --retries 2Passaggi multipli, cache abilitata, warmup completo. Ottimo per benchmarking dettagliato.
    Modalità Debug--iterations 1 --timeout 10 --retries 0 --quietTimeout lungo, nessun tentativo, output minimo. Utile per diagnosticare problemi del resolver.
    Esecuzione Bilanciata--iterations 2 --use-cache --warmup-fast --timeout 2 --retries 1Un compromesso: velocità moderata, alcuni tentativi, cache abilitata, warmup rapido.
    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
  • Apri PR e unisci in main.

  • Poi tagga:

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

    • Commit firmati: git commit -S ...
    • Tag firmati: git tag -s vX.Y.Z -m "Release vX.Y.Z"
    • Fonti delle versioni: pyproject.toml e src/dns_benchmark/__init__.py