Нужен PHP-скрипт, который будет считать кол-во строк с одним и тем же IP для заданного абсолютного пути.
Пример таких строк:
78.85.105.22 - - [26/Sep/2022:11:38:59 +0300] "GET / HTTP/1.0" 200 572800 "https://some-site.loc" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
136.169.135.33 - - [26/Sep/2022:11:38:52 +0300] "GET / HTTP/1.0" 200 572782 "https://some-site.loc/page/waf-ilang-morki" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
78.25.1.12 - - [26/Sep/2022:11:38:32 +0300] "GET / HTTP/1.0" 200 572800 "https://some-site.loc" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
78.25.1.12 - - [26/Sep/2022:11:38:25 +0300] "GET / HTTP/1.0" 200 572800 "https://some-site.loc" "Chrome/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
Пример: если нужно найти IP по адресу "https://some-site.loc" по данным выше ↑ - результат будет:
IP 78.25.1.12: 2
IP 78.85.105.22: 1
⚠️ Обратите внимание:
1. 136.169.135.33 не попал в список, поскольку у него не подходящий адрес.
2. User-Agent(идёт сразу после адреса сайта) не всегда может быть "Mozilla/5.0". Фактически, все данные в строке динамичны, кроме их формата/порядка.
Для ввода данных - можно сделать просто переменные.
Например: $site для адреса сайта, $log для строк.