Advertisement
Guest User

Untitled

a guest
Apr 26th, 2015
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. PROM='[0-9]\{1,3\}';
  4. IP=" $PROM\.$PROM\.$PROM\.$PROM ";
  5.  
  6. 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
  7.  
  8. echo'
  9. V aktuálním adresáři je soubor apache.log se záznamem přístupů k webovému serveru.
  10. 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.
  11. 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é.
  12.  
  13. Příklady
  14. Log soubor obsahuje například těchto pět řádků:
  15.  
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21.  
  22. Na standardní výstup vypisujeme:
  23.  
  24. 86.49.86.108
  25. 147.32.123.135
  26.  
  27. Log soubor obsahuje například těchto jiných osm řádků:
  28.  
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37.  
  38. Na standardní výstup vypisujeme:
  39.  
  40. 77.236.192.69
  41. 86.49.86.108
  42. 86.49.86.109
  43. 147.31.9.135
  44. 147.31.124.135
  45. 147.32.123.135
  46. 147.32.123.136
  47. 147.32.124.135
  48.  
  49. Poznámky
  50. IP adresa je uspořádaná čtveřice čísel oddělených tečkami, v předchozích příkladech je to třeba:
  51. 147.32.123.135
  52.  
  53. Poznámky k příkladu
  54. Větší soubor pro experimentování je připraven na serverech fray:
  55. /home/courses/BIPS1/public/07/apache.log
  56. 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.
  57. '
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement