Ip-Accounting mit ipchains
Datum: Sunday, 26.May. @ 00:01:50 CEST
Thema: Netzwerke


Netzwerklasten auswerten


Vorwort :

Wenn es Sie schon immer interessiert hat was für Daten und in welchen Umfang Sie über ein Netzwerkinterface übertragen werden, Sie aber keine zusätzlichen Programme installieren wollen, werden sie sich schnell mit dem IP-Accounting von Daten mit Bordmitteln auseinandersetzen müssen. Das wird sich spätestens dann bemerkbar machen, wenn sie sich einen neuen Server aufstellen wollen und wissen müssen wie er ausgestattet ist.


Ziel dieses Mini Tutorials :

ist die schnelle Einführung in das Ip Accounting mit ipchains.
Voraussetzungen:

In diesem Tutorial wird davon ausgegangen, dass Ihnen der Syntax von ipchains bekannt sind. Desweiteren sollten Sie Grundkenntnise über das Erstellen von Shellscripten haben.
IP-Accounting mit ipchains: (Kernel 2.2.x)

Da ich Ihnen hier das Accounting mit ipchains beschreibe, dürfte Ihnen, wenn sie eine Firewall damit betreiben, der Syntax bekannt vorkommen:


ipchains -A chain Regel

Beachten sollte man bei diesen Beispiel nur, dass man beim Accounting keine "Policy Regeln" angibt, es sei denn, sie benutzen selbst defienirte Ketten!
Nehmen wir mal an Sie wollen wissen wieviele Daten von Ihren Rechner aus übertragen werden... Sie besitzen eine Netzwerkarte und eine Internetverbindung mit einen Modem. Um festzustellen wieviele Daten Ihr Modem durchlaufen, würden wir folgenden Syntax verwenden:


ipchains -A input -i ppp -d 127.0.0.1 ipchains -A output -i ppp -s 127.0.0.1

Für die Netzwerkarte :


ipchains -A input -i eth0 -d 127.0.0.1 ipchains -A output -i eth -s 127.0.0.1

Um uns das Ganze anzeigen zu lassen, geben wir folgendes in die Komandozeile ein:


ipchains -L -x -v

Das Ergebnis kann man auch ganz einfach mit einer "pipe" an sendmail übergeben und an die eigene E-Mailadresse senden.


ipchains -L -x -v | sendmail -m waldemar@domain.com

Natürlich kann man die Accounting Funktionen noch erweitern indem man die Bytes zwischen zwei Netzen zählt.


ipchains -A forward -s 192.168.1.0/24 -d 192.168.44.0/24 -b

Wenn wir nun die Bytes anhand von Service Ports bestimmen wollen, brauchen wir in unseren script nur das Protokol angeben.
Für FTP eine Ftp Verbindung:


ipchains - A input -i ppp -p tcp -s 0/0 ftp-data:ftp

oder für Smtp:


ipchains -A input -i ppp -p tcp -s 0/0 smtp



Beispiel Script:

Anmerkung zu dieses Script: Beachten sie, dass ich hier mit selbst definierten Ketten gearbeitet habe!


#!/bin/sh #Ip Statistik für FTP ,SMTP und WWW ipchains -N a-std ipchains -N a-and ipchains -A a-std -j ACCEPT ipchains -A a-and -j ACCEPT ipchains -A forward -i ppp0 -p tcp -s 0/0 ftp-data:ftp -j a-std ipchains -A forward -i ppp0 -p tcp -s 0/0 smtp -j a-std ipchains -A forward -i ppp0 -p tcp -s 0/0 www -j a-std ipchains -A forward -i ppp0 -j a-and

Erläuterungen zu Script:



ipchains -N a-std ipchains -N a-and ipchains -A a-std -j ACCEPT ipchains -A a-and -j ACCEPT

Hier erzeugen wir zwei Ketten in denen wir die Daten sammeln, wobei a-stp zum zählen von Service Ports genutzt wird und in a-and die anderen Verbindungen auswertet!


ipchains -A forward -i ppp0 -p tcp -s 0/0 ftp-data:ftp -j a-std ipchains -A forward -i ppp0 -p tcp -s 0/0 smtp -j a-std ipchains -A forward -i ppp0 -p tcp -s 0/0 www -j a-std

hier weisen wir der Kette die zu zählende Service Ports zu.


ipchains -A forward -i ppp0 -j a-and

Als letztes zählen wir die restlichen Verbindungen.

Accounting von icmp Datagrammen:

Da icmp nichts mit Portnummern zutun hat, sondern mit Icmp-type, müssen wir den Typ bestimmen, der gezählt werden soll. Als Beispeil nehmen wir das Jedem bekannte ping (ping 1.1.1.1)
Für die Ping Anfragen ECHO REGUEST: (type 8)


ipchains -A forward -p icmp -s 0/0 8

und die Antworten ECHO REPLY


ipchains -A forward -p icmp -s 0/0 0


Accounting anhand von Protokollen:

Um zu bestimmen welches Volumen an Trafic von welchen Protokoll verursacht wird, nutzen wir diese Regeln:
Für Tcp :


ipchains -A forward -i eth0 -p tcp -d 0/0

oder udp :


ipchains -A forward -i eth0 -p udp -d 0/0



Sollten Sie hierzu noch Fragen haben, stellen Sie sie doch im Forum!





Dieser Artikel kommt von Perlscripten Perlscripts Perl CGI Tutorials Download Dokumentationen Programming Webentwicklung
http://perlscripten.de

Die URL für diesen Artikel ist:
http://perlscripten.de/modules.php?name=News&file=article&sid=15