![]() |
Bezpieczeństwo systemów Linux'owych |
Linux Security - Perl w administracji
|
|
![]() |
[1] [2] |
![]() |
W typ przypadku Perl posłuży nam do zrobienia statystyk, kto i ile
pobrał danych z naszego serwera WWW.
Logi Apache'a wyglądają w ten sposób: |
www.linux.org - - [09/Jun/2001:14:27:57 +0200] "GET / HTTP/1.0" 200 2890 "-" "Lynx/2.8.4dev.16 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6" www.security.com - - [09/Jun/2001:14:28:27 +0200] "GET / HTTP/1.0" 200 576 "-" "Lynx/2.8.4dev.16 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6" www.security.com - - [11/Jun/2001:21:49:23 +0200] "GET / HTTP/1.0" 200 576 "-" |
Skrypt będzie sumował wszystkie pobrania danych, jakie nastąpiły z
poszczególnych hostów.
Listing programu jest następujący: |
#!/usr/bin/perl open(dane,'/etc/httpd/logs/access_log'); while ( |
Teraz można zobaczyć, który host pobrał najwięcej danych z naszego
serwera:
|
HOST: TRANSFER: www.linux.org 2890 www.security.com 1152 |
W powyższym programie zastosowano tablice asocjacyjne o nazwie "suma", czyli konkretnemu
ciągowi znaków (w tym wypadku to nazwy hostów) zostały przypisane liczby
(ilość pobranych danych w bajtach).
Pętla foreach pobiera dane z tablicy "suma" i podstawia je do zmiennej "wynik" |