如何在nginx access.log中找到最常用的用户代理

qli*_*liq 1 nginx log-analysis

为了对抗僵尸网络攻击,我试图分析一个nginx access.log文件来查找最常用的用户代理,这样我就可以找到罪犯并拒绝它们.我怎样才能做到这一点?

Moh*_*ady 6

在您的访问日志上尝试这样的事情,替换访问日志的路径,同时记住一些日志文件将被压缩并且将创建一个新的文件

sudo awk -F" " '{print $1}' /var/log/nginx/access.log | sort | uniq -dc
Run Code Online (Sandbox Code Playgroud)

编辑:

抱歉,我刚注意到您需要用户代理而不是IP

sudo awk -F"\"" '{print $6}' /var/log/nginx/access.log | sort | uniq -dc
Run Code Online (Sandbox Code Playgroud)

要升序追加| sort -nr并限制为10追加| head -10

所以最后的总线是

sudo awk -F"\"" '{print $6}' /var/log/nginx/access.log | sort | uniq -dc | sort -nr | head -10
Run Code Online (Sandbox Code Playgroud)