Preambolo : volevo semplicemente aggiungere un commento prima, poiché è ancora piuttosto poco chiaro che cosa potrebbe causare il tuo problema dalle informazioni fornite, ma ho esaurito lo spazio riservato ai commenti , quindi ecco il mio suggerimento (nessuna garanzia è in realtà il caso):
Su quale tipo di file di acquisizione stai cercando di eseguire le regole di Snort è piuttosto chiaro sia dalla tua domanda, sia dai tuoi commenti successivi. È comunque possibile che tu stia eseguendo il replay in una singola modalità di cattura dei pacchetti, ma da un file con molti pcaps . Questo è ciò che indica flag -r
(equivale a usare -pcap-single=<file>
) e il tuo commento che funziona su alcune regole e non sull'altro suggerisce che questo potrebbe essere anche il caso (se in una istanza la prima acquisizione di pacchetti corrisponderebbe alle tue regole , mentre in un altro il pcap che corrisponderebbe alle tue regole potrebbe non essere il primo nella lista di molti). Per fare in modo che Snort riesca a elaborare più pcaps da un singolo file di acquisizione, usa invece -pcap-file=<file>
.
Per essere sicuri che questo sia il caso, puoi testarlo con un flag -pcap-no-filter
e vedere se itera tutti attraverso l'output. Altri argomenti della riga di comando relativi al tuo caso d'uso sono elencati qui .
In alternativa, puoi cambiare la regola per far corrispondere tutti i pacchetti e vedere quanti risultati restituisce:
alert udp any any -> any any (msg:"This should match all UDP packets in an input file";)
Oltre a questo, non vedo alcun problema con la regola dello snort che hai dato nell'esempio, e segue Snort modulo di regole correttamente.