Re: Netzverkehr überwachen

From: till toenges <tt(at)mail.isis.de>
Date: Fri, 28 May 2004 15:31:20 +0200

Manfred Lotz wrote:
> Ich möchte also folgendes überwachen:
>
> a) Outgoing von meinem System über rl0 nach allem, was nicht
> 192.0.0.0/8 ist.
>
> b) Incoming von allem was nicht 192.0.0.0/8 ist, zu meinem System.

Ist zwar nicht die Frage gewesen, aber bist Du Dir sicher dass du
192.0.0.0/8 meinst? IMHO ist nur 192.168.0.0/16 für lokale Netze, der
Rest ist "echtes Internet".

> Dabei geht es mir in der Hauptsache darum, die Summe Bytes über den
> Monat hinweg zu bekommen.
>
>
> Was wäre ein geeignetes Tool für diese Aufgabe? Gibt es da was möglichst
> einfaches?

Hab keine Tools anzubieten, aber ein paar Scripts reichen völlig.

Ich habe hier mit ipfw eine Count Rule eingesetzt, die alles Bytes
ausser denen in mein eigenes Netz zählt. Den Zähler lasse ich ich mit
einem Cron Job täglich auslesen, das Ergebnis in ein Logfile schreiben
und dann den Zähler zurücksetzen. Dazu habe ich noch ein Script das mir
aus dem Log den ein- und ausgehenden Traffic in einem bestimmten
Zeitraum berechnet.

Die ipfw rules sehen so aus:

count ip from 10.0.1.4 to not 10.0.0.0/16
count ip from not 10.0.0.0/16 to 10.0.1.4

Hab das woanders in einer komplexeren Auswertung auch mit ipfilter
umgesetzt, habe ich aber gerade nicht zur Hand. Auslesen geht mit:

#!/bin/sh

(ipfw -a list 10 ; ipfw -a list 20) | awk '{ if(s > 0) print "'"`date
"+%Y-%m-%d"`"'", s + $3, s, $3 ; else s = $3 }' >>/var/log/ipc.log
ipfw -q zero 10
ipfw -q zero 20

Der Bereich von (ipfw... bis ...ipc.log ist eigentlich eine Zeile, und
10 und 20 müssen durch die Nummern der ipfw count rules auf deinem
System ersetzt werden. Das Script täglich mit einem Cron Job ausführen.

Auswertung mit:

#!/bin/sh

tail -n $1 /var/log/ipc.log | awk '{ t += $2 ; s += $3 ; r += $4 } ; END
{ print t, s, r }'

Das soll wieder eine Zeile sein. Das Script dann mit <scriptname> <tage>
  aufrufen. Überprüfung des $1 Parameters wäre eigentlich Pflicht, aber
das ist ja nur für den Hausgebrauch...

Ich habe sowas auch mal mit netstat -i umgesetzt, das läuft ein bisschen
anders, aber kann dann eben keinen internen Traffic aussortieren.

Weitere interessante Spielereien sind Warnmails wenn der Traffic in
einem bestimmten Zeitraum die übliche Grenze überschreitet, aber die
Scripts dafür will ich nicht ungefragt auf die Liste schmeissen.

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 28 May 2004 - 15:32:15 CEST

search this site