v0.7.1 · aggiornata · GitHub
Interfaccia a riga di comando

Riferimento CLI

Punto di ingresso: caddy-analyze [flags] [source...] — le sorgenti sono risolte tramite Sorgenti log o caddy-analyzer.json. Di seguito: ogni flag, il suo ambito e se interagisce con il sistema.

Guida operativa
Per spiegazioni passo passo, casi d'uso e flag propri di ogni sottocomando, consulta Tutti i comandi.

Flag globali — ambito e root

tutti = persistente in ogni sottocomando. solo root = solo nel comando radice (non in tail ecc.). Nessun flag richiede di per sé root; i sottocomandi guard/block/unban sì (consulta le rispettive pagine).

Persistenti — tutti i sottocomandi

FlagBrevePredefinitoAmbitoDescrizione
--fromtuttiVoci successive all'ora (RFC3339 o 5m, 1h, 2d)
--totuttiVoci precedenti all'ora (RFC3339)
--status-stuttiFiltra per codici di stato, ad es. -s 200,404
--method-mtuttiFiltra per metodo HTTP
--path-ptuttiGlob del percorso (/api/* → regex)
--hosttuttiFiltra per sottostringa Host
--iptuttiIP client / CIDR
--exclude-iptuttiEsclude IP / CIDR
--countrytuttiMantiene paesi (ISO o nome, richiede GeoIP)
--exclude-countrytuttiEsclude paesi (richiede GeoIP)
--asntuttiMantiene ASN (richiede GeoIP)
--exclude-asntuttiEsclude ASN
--greptuttiRegex (fallback sottostringa) su URI/UA/IP
--2xx / --3xx / --4xx / --5xxfalsetuttiScorciatoia per classe di stato
--errors-only-efalsetuttiSolo 5xx
--slowtuttiPiù lento della durata
--max-latencytuttiPiù veloce della durata
--min-size / --max-sizetuttiByte con suffisso k/mb/gb
--no-bots / --bots-onlyfalsetuttiClassificatore di bot
--leveltuttiLivello operativo (error,warn,info,debug)
--ops-onlyfalsetuttiSolo eventi non HTTP
--top-t10tuttiPrimi N (0 disabilita)
--format-ftabletuttiReport radice: table|json|csv|html; top/diff: table|json|csv
--output-otuttiScrive in un file
--compact-cfalsetuttiTabella compatta
--defangfalsetutti.[.] per la condivisione di IOC
--trust-forwardedfalsetuttiConsidera attendibile l'ultimo hop pubblico X-Forwarded-For
--max-cardinality100ktuttiLimite per contatore (0 illimitato)
--geo-cache-ttl24htuttiTTL della cache GeoIP
--geo-cache-size50ktuttiDimensione della cache GeoIP
--ua-rotation10tuttiSoglia di rotazione UA
--namespace-ntuttiNamespace K8s
--geoip-dbtuttiPercorso mmdb GeoIP (rilevamento automatico)
--no-auto-downloadfalsetuttiDisabilita il download automatico di GeoIP
--againsttuttiConfronta con un file baseline JSON
--threshold20tuttiSoglia percentuale di regressione
--custom-patternstuttiCarica JSON di pattern validati; ripetibile
--remote-urltuttiEndpoint bulk Elasticsearch/OpenSearch o Loki
--remote-indexcaddy-analyzertuttiIndice Elasticsearch/OpenSearch
--remote-user/password/tokentuttiAutenticazione remota Basic o Bearer
--remote-batch-size/retries/backoff/timeouttuttiParametri di consegna remota

Solo root

FlagBreveAmbitoDescrizione
--follow-Fsolo rootSegue i nuovi log (fan-in)
--interval-isolo rootRiaggrega a ogni durata (ad es. 10s)
--watch-wsolo rootDashboard TUI live (8 schede)
--detect-dsolo rootRilevamento minacce in 26 categorie
--version-vsolo rootStampa la versione ed esce
Root richiesta?
Nessun flag richiede root da solo. I sottocomandi guard, block, unban richiedono sudo perché modificano le regole del firewall — consulta le loro pagine per modifica il firewall rispetto a sola lettura.

Sottocomandi

ComandoAmbitoDescrizione
tailsola letturaTrasmette e colora (locale --detect)
topsola letturaIspettore classificato (10 dimensioni)
diffsola letturaConfronta due log
baselinescrive un fileSalva baseline di analisi versionate
guardmodifica il firewallBlocco automatico tramite iptables/nftables/Docker
block / unbanmodifica il firewallFirewall manuale
blocklistscrive cache/config8 feed, refresh/list/config/init
configscrive configSalva la sorgente predefinita
export-sigmascrive file/stdout23 regole Sigma
updatesostituisce il binarioAutoaggiornamento (cosign + SHA256)
whitelistscrive allowlistCIDR da non bloccare mai

Dettagli per sottocomando: consulta nella barra laterale Guard, Blocklist, Block / Unban, Top.