Jak wyodrębnić unikalne adresy IP z pliku dziennika Apache w Linux

Jak wyodrębnić unikalne adresy IP z pliku dziennika Apache w Linux

Pytanie

Jak wyodrębnić wszystkie adresy IP z mojego dziennika HTTPD. Muszę wyodrębnić tylko unikalne adresy IP z mojego pliku dziennika Apache.

Oto mój przykładowy wpis dziennika Apache:

Xxx.64.70.XXX - - [26/Mar/2011: 00: 28: 23 -0700] "GET/HTTP/1.1 „403 4609”-„„ Mozilla/5.0 (x11; u; Linux i686; en-us) AppleWebkit/534.16 (Khtml, jak gecko) Chrome/10.0.648.204 Safari/534.16 " 

Odpowiedź

Po dostarczonym formacie wpisu dziennika Apache najłatwiejszym sposobem wyodrębnienia adresów IP z tego rodzaju wpisów dziennika Apache jest użycie kombinacji poleceń AWK, Sort i Uniq. Najpierw musimy uzyskać długą listę adresów IP. Można to zrobić za pomocą polecenia AWK:

$ awk 'drukuj 1 $' apache_log 

Następnym krokiem jest sortowanie adresów IP z poleceniem sort:

$ awk 'drukuj 1 $' apache_log | sortować 

I wreszcie otrzymujemy jedynie unikalny adres IP, przesyłając strumieniowe dane wyjściowe powyższego polecenia do Uniq:

$ awk 'drukuj 1 $' apache_log | SORT | Uniq 

To utworzy długą listę krótkich adresów IP, każdy z osobnej linii. Jeśli zamierzasz liczyć unikalnych odwiedzających na swojej stronie internetowej, po prostu przekieruj dane wyjściowe WC -L.

$ awk 'drukuj 1 $' apache_log | SORT | uniq | WC -L 

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • GNU/Linux Ogólne Przewodnik po rozwiązywaniu problemów dla początkujących
  • Manipulacja Big Data dla zabawy i zysku Część 2
  • Przydatne przykłady i sztuczki
  • Bash Scripting: Arytmetyczne operacje
  • Jak skonfigurować Server Samba Udostępnij na Ubuntu 22.04 Jammy…
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Jak sformatować dysk w Linux
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze