So extrahieren Sie eindeutige IP -Adressen aus der Apache -Protokolldatei unter Linux

So extrahieren Sie eindeutige IP -Adressen aus der Apache -Protokolldatei unter Linux

Frage

Wie extrahiere ich alle IP -Adressen aus meinem HTTPD -Protokoll. Ich muss nur eindeutige IP -Adressen aus meiner Apache -Protokolldatei extrahieren.

Hier ist ein My Sample Apache -Protokolleintrag:

Xxx.64.70.Xxx - - [26/März 2011: 00: 28: 23 -0700] "Get/http/1.1 "403 4609"-"" Mozilla/5.0 (x11; u; Linux i686; en-us) Applewebkit/534.16 (khtml wie Gecko) Chrome/10.0.648.204 Safari/534.16 " 

Antworten

Auf dem Apache -Protokolleintragsformat, das Sie angegeben haben. Zuerst müssen wir eine lange Liste von IP -Adressen erhalten. Dies kann mit dem Befehl awk erledigt werden:

$ awk 'print $ 1' apache_log 

Der nächste Schritt besteht darin, IP -Adressen mit dem Befehl sortieren zu sortieren:

$ awk 'print $ 1' apache_log | Sortieren 

Und schließlich erhalten wir nur eine eindeutige IP -Adresse, indem wir die Ausgabe des obigen Befehls an UNIQ streamen:

$ awk 'print $ 1' apache_log | sortieren | Uniq 

Dadurch wird eine lange Liste von kurzen IP -Adressen erstellt, die jeweils in separaten Zeile. Wenn Sie beabsichtigen, eindeutige Besucher auf Ihrer Website zu zählen WC -l.

$ awk 'print $ 1' apache_log | sortieren | Uniq | WC -l 

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • GNU/Linux Allgemeiner Fehlerbehebungsleitfaden für Anfänger
  • Big Data Manipulation zum Spaß und Gewinn Teil 2
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 1
  • Bash Scripting: Arithmetische Operationen
  • So konfigurieren Sie den Samba -Server -Teilen auf Ubuntu 22.04 Jammy…
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Wie man die Festplatte unter Linux formatiert
  • Linux -Konfigurationsdateien: Top 30 am wichtigsten