Zajmuje się tym (no proszę zgadnąć…) iptabels i jego reguły zliczania (brawo proszę państwa, już się państwo uczą…)
Zliczanie pakietów wychodzących i wchodzących najlepiej jest zrobić na routerze. Wykorzystując iptables (czyli jądro 2.4) wpisujesz regułki typu
iptables -A lancuch reguly_okreslające_kogo_tycza
np.
iptables -A FORWARD -s 192.168.1.1
Jak widzisz doda to regułę do łańcucha FORWARD, ponieważ nie ma wskazanego żadnego celu ( -j ) to automatycznie zacznie zliczać pakiety. Wskazaliśmy tylko stację źródłową czyli skąd pakiet idzie, podobnie możesz zrobić wskazując _dokąd_ pakiet idzie (-d 192.168.1.1) W wyświetlaniu reguł powinieneś mieć coś takiego:
gateway:root# iptables -L FORWARD -n Chain FORWARD (policy ACCEPT) target prot opt source destination all -- 192.168.1.2 0.0.0.0/0 all -- 192.168.1.3 0.0.0.0/0 all -- 192.168.1.1 0.0.0.0/0
I tak bedzie to zliczało ruch.
Wyświetlanie liczników
Najprostszy sposób obejrzenia wartości liczników to wydanie polecenia: iptables -L -v np.
gateway:root# iptables -L FORWARD -v -n Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 all -- * * 192.168.1.2 0.0.0.0/0 0 0 all -- * * 192.168.1.3 0.0.0.0/0 0 0 all -- * * 192.168.1.1 0.0.0.0/0
Gdy chcesz dokładne wyniki dodaj przełącznik -x
Zerowanie liczników
Liczniki zerujemy całkiem prosto. służy do tego przełącznik -Z Np.
gateway:root# iptables -L FORWARD -Z -n Chain FORWARD (policy ACCEPT) target prot opt source destination all -- 192.168.1.2 0.0.0.0/0 all -- 192.168.1.3 0.0.0.0/0 all -- 192.168.1.1 0.0.0.0/0
Praktyczne zastosowania
Jeżeli masz dużo hostów to użyj skryptu go generowania zasad dotyczących zliczania (albo copy-past). Pamiętaj iż możesz później użyć skryptów iptables-save (zapisuje bieżące ustawienia iptables) i iptables-restore (przywraca zapisane ustawienia). Statystki najlepiej zapisywać do osobnego pliku przy pomocy crona, z jednoczesnym czyszczeniem statystyk. np.
59 23 * * * iptables -L FORWARD -v -n > `date +"%d_%m".txt; iptables -L FORWARD -Z
Spowoduje to codziennie dokładnie o 23:59 zapisanie statystyk do pliku z bieżącą datą i automatycznie wyczyści liczniki…
Odpowiedzi do ćwiczeń
ćwiczenie 2 (zliczanie ruchu)
Jeżeli Państwa adres to: 192.168.1.15 a adres IP komputera nauczycielskiego to 192.168.1.2 to regułki spełniające warunki to: