Was kann ich verwenden, um eingehenden / ausgehenden Datenverkehr zu / von Remote-Hosts zu überwachen und zu protokollieren?


13

Ich verwende einen Webserver (Debian Squeeze auf einem VPS), und die vom Hosting-Unternehmen bereitgestellten Grafiken zeigen durchgehend, dass ungefähr doppelt so viel Verkehr auf dem Server eingeht wie ausgehender Verkehr. Ich bin ein wenig verwirrt, daher möchte ich eine Art Protokollierungsprogramm auf dem Computer ausführen, mit dem die Upload- / Download-Zahlen nicht nur bestätigt, sondern auch vom betreffenden Remote-Host aufgeteilt werden Ein Großteil des eingehenden Datenverkehrs stammt aus einer bestimmten Quelle.

Ich vermute, dass der meiste ausgehende Datenverkehr über Apache abgewickelt wird, aber der eingehende Datenverkehr kann hauptsächlich über Apache abgewickelt werden oder von anderen Skripten und Cron-Jobs dominiert werden. Daher würde ich ein Tool bevorzugen, das den Datenverkehr auf der Schnittstellenebene überwacht, anstatt etwas in Apache .

Im Idealfall hätte ich gerne ein Tool, das ich einige Tage laufen lassen kann, dann zurückkehre und eine Ausgabe von "Bytes pro Remote-Host" für eingehenden und ausgehenden Datenverkehr erhalte.

Ist dies mit einem Standard-Linux-Tool und ein wenig Konfiguration (wenn ja, wie?) Oder mit einem Spezialprogramm (wenn ja, welches?) Möglich?

Antworten:


11

ntop ist wahrscheinlich die beste Lösung dafür. Es ist darauf ausgelegt, langfristig zu laufen und genau das zu erfassen, wonach Sie suchen.
Hier können Sie sehen, welche Remote-Ziele am häufigsten verwendet werden, wie viel Datenverkehr an bzw. von welchen Protokollen und Ports gesendet wurde usw. Dies gilt auch für die Quell-Hosts, wenn Sie sie auf einem Router ausführen, damit Sie sehen können das gleiche gilt auch für lokale Kunden.
Anschließend wird eine Web-GUI zum Navigieren und Anzeigen dieser Informationen verwendet.

ntop


Whoa. Ich in all diesen Jahren habe mit ntopwie einfach top, ich hatte keine Ahnung , dass es einen Daemon - Modus hatte und eine integrierte Web - Schnittstelle! An @ ckhans Vorschlag ist alles in allem nichts auszusetzen, aber ich akzeptiere diesen Vorschlag, da die ntopintegrierte Weboberfläche meiner Meinung nach einfacher zu verwenden ist als tcpdumpdie von Wireshark.
Ian Renton

9

Wenn Sie root haben, können Sie einfach tcpdumpalles verwenden und greifen. Sie können es dann in Wireshark aufrufen und nach Herzenslust analysieren.

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

... und drücken Sie dann Strg-C, wenn Sie genug haben. Führen Sie eine screenSitzung aus, wenn Sie den Vorgang beenden möchten.

Standardmäßig wird nur der erste Teil jedes Pakets erfasst, aber da Sie hauptsächlich an der Ursprungsanalyse interessiert sind, sollte dies in Ordnung sein. Unzählige andere Optionen, die Sie nutzen können, wenn Sie sich abenteuerlustig fühlen.

BEARBEITEN : Einmal in Wireshark geladen, können Sie einfach die Menüoption Statistik | IP-Adressen ... und Sie erhalten eine schöne Zusammenfassung des Datenverkehrs nach Anzahl / Rate / Prozent:

Bildbeschreibung hier eingeben


Danke, das scheint ein vernünftiger Weg zu sein. Wissen Sie, ob Wireshark automatisch die Art von Ausgabe erzeugen kann, nach der ich mich sehne (z. B. "1000 Verbindungen zu ServerA, 967 Verbindungen zu ServerB ..."), oder ob ich ein Skript schreiben muss, um diese Informationen aus dem TCP-Dump zu erstellen mich selber?
Ian Renton

@ IanRenton - Ich denke, es wird genau das tun, was Sie wollen, siehe bearbeitete Antwort. Ich glaube , tcpdumpauch Paket Zusammenfassungen ausspucken , dass Sie könnte leicht grep, wcetc.
ckhan

4

Und für fortgeschrittenere Metriken können Sie so etwas wie monitorix verwenden, das Module für die meisten gängigen Dienste enthält, und es ist einfach:

apt-get install monitorix

Sie haben auch Kakteen eine komplette GUI RDDtool, aber nicht in Echtzeit.

Und in der Top 1 für mich ist es die mehrfach konfigurierbare Grafana . Es ist etwas schwieriger zu installieren und zu konfigurieren, aber es ist einfach perfekt. Sie können alles detailliert und in Echtzeit messen. Es braucht einige Abhängigkeiten JVM, Graphit, Flüstern, ... etwas Wissen über JSON, aber es funktioniert wie ein Zauber Ich kann es nur empfehlen!

Vielleicht sollte eine gute Konfiguration für Ihren Fall sein:

collectd + graphite + whisper + grafana

Eigentlich hat Grafana mein Leben im Büro verändert.


Whisper bringt eine Menge Hits hervor, von denen keiner relevant erscheint. Abgesehen von einer Firewall für Android ... Könnten Sie eine URL angeben? Vielleicht hast du ein Github-Repo mit deinem Setup.
Oligofren

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.