Ho un desktop Linux che sarà un gateway tra la mia rete privata e Internet aperto. Mi piacerebbe che catturasse e immagazzini tutto il traffico di rete che lo attraversa continuamente, 24 ore su 24, 7 giorni su 7 (finché l'HDD non si riempie;). Ma deve essere più sofisticato di un unico grande dump di pacchetti:
1) Mi piacerebbe avere alcune funzionalità di white-listing per non memorizzare selettivamente specifici tipi di traffico (es. video di YouTube, download BitTorrent.) Questo probabilmente significa creare regole basate su protocolli, IP / domini, parole chiave di intestazione / contenuto , DPI forse?
2) Memorizzarlo in un modo che permetta di interrogare facilmente i dati acquisiti. Ricorda - questo diventerà molto presto molto presto con il normale utilizzo del web. Quindi la mia ipotesi è, forse un database veloce e piatto, come Redis?
Sono relativamente nuovo a Linux. Ho una conoscenza rudimentale di cose come iptables e ho scoperto tcpdump / libpcap, ma sembra troppo semplice (vedi due punti sopra).
Come faccio a fare questo?
...
(Questa è una domanda a parte, ma accolgo anche suggerimenti su come interrogare tutti questi dati. Ho bisogno di qualcosa di alto livello, come "portami tutti i file scaricati da quel dispositivo / ip oggi", e non solo un un grande elenco di pacchetti in stile Wireshark, che potrebbe essere utile per la diagnostica, ma non per il recupero e la ricerca di contenuti efficienti.)