Iptables/Traffic

Od HLDS.pl
(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(Nowy art.)
 
(+Skrypt.)
 
Linia 1: Linia 1:
 +
== Simple Traffic Logger ==
 
Tworzymy nowy łańcuch:
 
Tworzymy nowy łańcuch:
 
  # iptables -N TRAFFIC
 
  # iptables -N TRAFFIC
Linia 30: Linia 31:
  
 
Tworzymy plik '''Traffic.sh''':
 
Tworzymy plik '''Traffic.sh''':
 +
 +
touch Traffic.sh
 +
 +
I zamieszczamy w nim poniższy skrypt:
  
 
  #!/bin/sh
 
  #!/bin/sh
Linia 35: Linia 40:
 
  iptables -L -Z TRAFFIC -nvx >> ~/Traffic.dat
 
  iptables -L -Z TRAFFIC -nvx >> ~/Traffic.dat
  
Co dalej? Może jakiś eksport do bazy danych? [[RRDTool]]?
+
Co dalej? Może jakiś eksport do bazy danych? Jakieś wykresy?
 +
 
 +
== Scripts ==
 +
* [[Iptables/Traffic/Tabelizer|Tabelizer]]

Aktualna wersja na dzień 20:50, 28 wrz 2009

Simple Traffic Logger

Tworzymy nowy łańcuch:

# iptables -N TRAFFIC

Podpięcie łańcucha odpowiedzialnego za ruch do nowo utworzonego FORWARD w przypadku bramy i/lub routera, opcjonalnie można dołożyć INPUT i OUTPUT:

# iptables -I FORWARD -j TRAFFIC

Możemy także zrobić to po sieciówkach, jeżeli mamy jedną odpowiedzialną za wszystko to będzie to wyglądać tak:

# iptables -A TRAFFIC -o eth0 # upstream
# iptables -A TRAFFIC -i eth0 # downstream

Co zliczamy? TCP? UDP? ICMP? A może coś bardziej konkretnego? No to bierzemy się za ruch WWW (HTTP requests and response):

# iptables -A TRAFFIC -p tcp -m multiport --ports www

Możemy także zrobić tak samo z mailami, a więc:

# iptables -A TRAFFIC -p tcp -m multiport --ports pop3,smtp

Można także z konkretnym portem, czyli:

# iptables -A TRAFFIC -p tcp --sport 31337

Listing naszego łańcucha:

# iptables -L TRAFFIC -nvx

Zerowanie naszego łańcucha:

# iptables -Z TRAFFIC

Wyświetla adresy IP i ilość ruchu w bajtach:

# iptables -L TRAFFIC -nvx | awk '$1 ~ /^[0-9]+$/ { printf "Adres IP: %s, %d bajtów\n", $8, $2 }'

Możemy to wszystko trochę bardziej zautomatyzować i przy okazji skomplikować, a więc dodajemy prosty skrypcik do crona, niech się wykonuję raz na godzinę. Zależnie od tego jak bardzo chcemy mieć dokładne dane ten czas możemy zmieniać zależnie od potrzeb.

Tworzymy plik Traffic.sh:

touch Traffic.sh

I zamieszczamy w nim poniższy skrypt:

#!/bin/sh
date >> ~/Traffic.dat
iptables -L -Z TRAFFIC -nvx >> ~/Traffic.dat

Co dalej? Może jakiś eksport do bazy danych? Jakieś wykresy?

Scripts

Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia