Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- PROM='[0-9]\{1,3\}';
- IP=" $PROM\.$PROM\.$PROM\.$PROM ";
- cat apache.log | tr "]" " " | sed 's|\('"$IP"'\).*|\1|' | sed 's|.*\('"$IP"'\)$|\1|' | sort | uniq -c | sort -nr -k1,1 | awk '{if(NR==1 || OLD==$1){print $2 ; OLD=$1}}' | sort -n -t"." -k1 -k2 -k3 -k4
- echo'
- V aktuálním adresáři je soubor apache.log se záznamem přístupů k webovému serveru.
- Vypište nejčetnější IP adresu nebo adresy, pokud je jich více. Každou unikátní adresu vypište na samostatný řádek, seřazené vzestupně podle jednotlivých oktetů IP adresy zleva.
- V logu mohou být i chybové zprávy, také mají IP adresu původce, ale řádka je v jiném formátu. Tyto IP adresy je nutné zpracovat také.
- Příklady
- Log soubor obsahuje například těchto pět řádků:
- Oct 1 00:02:30 edux ap2[rpx]: 147.32.123.135 - - [10/1/2011:00:02:30 +0] "GET /BI-UOS/lec/03/3prednaska.pdf HTTP/1.1" 206 5830
- Oct 1 00:02:31 edux ap2[rpx]: 147.32.123.135 - - [10/1/2011:00:02:31 +0] "GET /BI-UOS/lec/03/3prednaska.pdf HTTP/1.1" 206 5830
- Oct 1 00:02:43 edux ap2[rpx]: 86.49.86.108 - - [10/1/2011:00:02:43 +0] "GET /BI-UOS/tutor/06/start HTTP/1.1" 200 23817
- Oct 1 00:02:43 edux ap2[rpx]: 86.49.86.108 - - [10/1/2011:00:02:43 +0] "GET /BI-UOS/lib/exe/idx.php?id=p%3A%3A HTTP/1.1" 200 42
- Oct 1 00:02:46 edux ap2[rpx]: 77.236.192.69 - - [10/1/2011:00:02:46 +0] "GET /BI-UOS/tutor/03/vi.png?id=%3A3 HTTP/1.1" 200 1122
- Na standardní výstup vypisujeme:
- 86.49.86.108
- 147.32.123.135
- Log soubor obsahuje například těchto jiných osm řádků:
- Oct 12 00:02:30 edux ap2[rpx]: 147.32.123.135 - - [10/1/2011:00:02:30 +0] "GET /BI-UOS/lec/03/3prednaska.pdf HTTP/1.1" 206 5830
- Oct 12 00:02:31 edux ap2[rpx]: 147.32.124.135 - - [10/1/2011:00:02:31 +0] "GET /BI-UOS/lec/03/3prednaska.pdf HTTP/1.1" 206 5830
- Oct 12 00:02:59 edux ap2[rpx]: [Wed Oct 12 00:02:59 2011] [error] [client 147.32.123.136] File does not exist: /apache/data/muieblackcat
- Oct 12 00:08:05 edux ap2[rpx]: 147.31.9.135 - - [10/1/2011:00:08:05 +0] "GET /BI-UOS/lec/07/7prednaska.pdf HTTP/1.1" 200 9210
- Oct 12 00:08:43 edux ap2[rpx]: 86.49.86.109 - - [10/1/2011:00:08:43 +0] "GET /BI-UOS/tutor/06/start HTTP/1.1" 200 23817
- Oct 12 00:08:44 edux ap2[rpx]: 86.49.86.108 - - [10/1/2011:00:08:44 +0] "GET /BI-UOS/lib/exe/idx.php?id=p%3A%3A HTTP/1.1" 200 42
- Oct 12 00:08:46 edux ap2[rpx]: 77.236.192.69 - - [10/1/2011:00:08:46 +0] "GET /BI-UOS/tutor/03/vi.png?id=%3A3 HTTP/1.1" 200 1122
- Oct 12 00:09:51 edux ap2[rpx]: 147.31.124.135 - - [10/1/2011:00:09:51 +0] "GET /BI-UOS/lec/03/3prednaska.pdf HTTP/1.1" 206 5830
- Na standardní výstup vypisujeme:
- 77.236.192.69
- 86.49.86.108
- 86.49.86.109
- 147.31.9.135
- 147.31.124.135
- 147.32.123.135
- 147.32.123.136
- 147.32.124.135
- Poznámky
- IP adresa je uspořádaná čtveřice čísel oddělených tečkami, v předchozích příkladech je to třeba:
- 147.32.123.135
- Poznámky k příkladu
- Větší soubor pro experimentování je připraven na serverech fray:
- /home/courses/BIPS1/public/07/apache.log
- Druhý příklad na zkontrolování dodržení předepsaného seřazení výsledků by v ostré verzi zadání neobsahoval adresu 147.31.9.135.
- '
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement