Găsiți primele 10 adrese IP care accesează serverul dvs. web Apache


Când rulați un server web care poate fi accesat dintr-o rețea deschisă sau publică, cum ar fi Internetul, atunci este întotdeauna o practică bună de administrare a sistemului să monitorizați accesul la serverul dvs.

Un lucru bun în monitorizarea accesului la serverul dvs. web este existența fișierelor jurnal de acces care stochează informații despre fiecare activități de acces care au loc pe server.

Lucrul cu fișierele jurnal este întotdeauna foarte important, deoarece acestea vă oferă un cont de tot ceea ce s-a întâmplat într-un sistem sau aplicație, în acest caz, serverul dvs. web Apache. În cazul oricăror probleme legate de performanță sau de acces, fișierele jurnal vă pot ajuta să subliniați ce ar putea fi greșit sau ce se întâmplă.

Citiți mai multe despre gestionarea jurnalelor în Linux: Cele mai bune 4 instrumente de gestionare a jurnalelor pentru Linux

În acest articol, vom vedea cum să găsim primele 10 adrese IP care au accesat serverul dvs. web Apache.

Calea implicită pentru jurnalul serverului web Apache este:

/var/log/http/access_log      [For RedHat based systems]
/var/log/apache2/access.log   [For Debian based systems]
/var/log/http-access.log      [For FreeBSD]

Pentru a afla primele 10 adrese IP care accesează serverul web Apache pentru domeniu, rulați următoarea comandă.

# awk '{ print $1}' access.log.2016-05-08 | sort | uniq -c | sort -nr | head -n 10
Ieșire eșantion
5482 103.28.37.178
5356 66.249.78.168
1977 66.249.93.145
1962 157.55.39.251
1924 66.249.93.142
1921 66.249.93.148
1890 64.233.173.178
1860 108.61.183.134
1841 64.233.173.182
1582 157.55.39.251

În comanda de mai sus:

  1. awk – imprimă fișierul access.log.2016-05-08.
  2. sortează – ajută la sortarea liniilor într-un fișier access.log.2016-05-08, opțiunea -n compară linii pe baza pe valoarea numerică a șirurilor de caractere și opțiunea -r inversează rezultatul comparațiilor.
  3. uniq – ajută la raportarea liniilor repetate, iar opțiunea -c ajută la prefixarea liniilor în funcție de numărul de apariții.

Citiți mai multe despre cum să utilizați comanda awk în Linux.

rezumat

Există multe metode care pot fi folosite pentru a realiza acest lucru, dacă știți o modalitate mai bună, împărtășiți în comentarii și, de asemenea, în cazul oricăror sugestii sau întrebări, nu uitați să lăsați un comentariu în secțiunea de comentarii de mai jos și îl vom discuta împreună. Sper că veți găsi acest articol util și nu uitați să rămâneți mereu conectat la Tecmint.