Подсчитать IP-адрес в журналах доступа Nginx

Подсчитать IP-адрес в журналах доступа Nginx

Недавно на моем сервере появилось многоreferer spam, ниже представлена ​​команда, которую я использовал для поиска и подсчета IP-адреса из файла журнала доступа Nginx.

$ sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr

Полный пример.

$ sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr

    210 190.104.220.x
    208 181.119.20.x
    134 66.249.69.x
    129 66.249.69.x
    113 37.58.100.x
    108 66.249.69.x
    108 128.204.204.x
    106 37.58.100.x
     99 110.85.69.x
     89 125.78.199.x
     71 128.204.194.x
     70 210.195.94.x
     60 23.19.34.x

Note
Тот же прием можно применить к access.log сервера Apache.

Затем используйте команду ниже, чтобы узнать события доступа для определенного IP, затем решите, какое действие следует предпринять дальше.

$ sudo cat /var/log/nginx/access.log | grep 190.104.220.x