Cosa posso usare per monitorare e registrare il traffico in entrata / in uscita da / verso host remoti?


13

Gestisco un server Web (Debian Squeeze su un VPS) e i grafici forniti dalla società di hosting mostrano costantemente che circa il doppio del traffico in arrivo sul server rispetto al traffico in uscita. Sono un po 'confuso da questo, quindi vorrei eseguire una sorta di utilità di registrazione sul computer che non solo confermerà le cifre di upload / download, ma anche le dividerà dall'host remoto coinvolto, quindi posso vedere se un gran parte del traffico in entrata proviene da una determinata fonte.

Ho il sospetto che la maggior parte del traffico in uscita attraversi Apache, ma il traffico in entrata potrebbe essere principalmente tramite Apache o potrebbe essere dominato da altri script e processi cron, quindi preferirei uno strumento che monitorasse il traffico a livello di interfaccia piuttosto che qualcosa all'interno di Apache .

Idealmente, vorrei uno strumento che posso lasciare in esecuzione per alcuni giorni, quindi tornare indietro e ottenere un output di "byte per host remoto" sia per il traffico in entrata che in uscita.

Questo è possibile con uno strumento Linux standard e un po 'di configurazione (se sì, come?) O con un programma specialistico (se sì, quale?)

Risposte:


11

ntop è probabilmente la soluzione migliore per farlo. È progettato per funzionare a lungo termine e catturare esattamente ciò che stai cercando.
Può mostrarti quali destinazioni remote vengono utilizzate di più, quanto traffico inviato da / verso, quali protocolli e porte sono state utilizzate ecc. Può fare lo stesso per gli host di origine se lo esegui su un router in modo da poter vedere le stesse statistiche anche sui client locali.
Quindi utilizza una GUI Web per navigare e visualizzare queste informazioni.

ntop


Whoa. In tutti questi anni ho usato ntopproprio come top, non avevo idea che avesse una modalità demone e un'interfaccia web integrata! Non c'è nulla di sbagliato nel suggerimento di @ ckhan, ma accetterò questo perché ritengo che ntopl'interfaccia web integrata sia più facile da usare di quella tcpdumpseguita da Wireshark.
Ian Renton,

9

Se hai root, puoi semplicemente usare tcpdumpe prendere tutto. È quindi possibile estrarlo in Wireshark e analizzare il contenuto del tuo cuore.

$ sudo tcpdump -i <interface> -w mycapture.tcpdump  

... e poi premi ctrl-c quando ne hai avuto abbastanza. Esegui in una screensessione se hai bisogno di sbloccare, ecc.

Per impostazione predefinita, catturerà solo la prima parte di ogni pacchetto, ma poiché sei principalmente interessato all'analisi dell'origine, dovrebbe andare bene. Tonnellate di altre opzioni per tcpdump se ti senti avventuroso.

EDIT : infatti, una volta caricato in Wireshark, puoi semplicemente usare l'opzione di menu Statistiche | Indirizzi IP ... e ottieni un bel riepilogo del traffico per conteggio / tasso / percentuale:

inserisci qui la descrizione dell'immagine


Grazie, sembra un modo ragionevole per andare. Sai se Wireshark è in grado di produrre automaticamente il tipo di output che sto cercando (ad es. "1000 connessioni al server A, 967 connessioni al server B ...") o dovrei scrivere uno script per creare quelle informazioni dal dump TCP me stessa?
Ian Renton,

@IanRenton - Penso che farà esattamente quello che vuoi, vedi risposta modificata. Credo che tcpdumppuò anche sputare riepiloghi di pacchetti che si potrebbe facilmente grep, wce così via
ckhan

4

E per una metrica più avanzata puoi usare qualcosa come monitorix che ha moduli per i servizi più comuni ed è solo un semplice:

apt-get install monitorix

Inoltre hai cactus un RDDtool GUI completo, ma non in tempo reale.

E nella top 1 per me è la grafana multi-configurabile . È un po 'più difficile da installare e configurare, ma è semplicemente perfetto, puoi misurare tutto in dettaglio e in tempo reale. Ha bisogno di alcune dipendenze JVM, grafite, sussurro, ... alcune conoscenze su JSON, ma funziona come un incantesimo lo consiglio davvero!

Forse una buona configurazione per il tuo caso dovrebbe essere:

collectd + graphite + whisper + grafana

In realtà i grafana mi hanno cambiato la vita in ufficio.


Whisper fa apparire molti successi, nessuno dei quali sembra rilevante. Tranne qualche firewall per Android ... Potresti dare un url? Forse hai un repository github con la tua configurazione.
oligofren,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.