这个Ip47.76.99.127爬虫IP发现大量Ip来源就是47.76.99.127

找出访问量最大20个ip

[root@100 nginx]# cat liuhaihua.access.log | awk -F " " '{print $1}' |sort |uniq -c |sort -rn|head -n 20217636 47.76.99.127217605 47.76.209.13839006 66.249.74.7238747 66.249.71.4033965 216.244.66.24429643 66.249.74.7329207 14.153.238.14428882 129.211.163.24728485 14.155.183.12023862 66.249.79.16721645 14.153.233.19919477 66.249.74.7418979 14.155.230.1517436 66.249.71.4114782 66.249.69.3513284 47.94.150.212954 66.249.70.7112742 14.155.204.21812728 14.153.241.201

解释:uniq的一个特性,检查重复行的时候,只会检查相邻的行。重复数据,肯定有很多不是相邻在一起的;所以需要先进行排序,然后进行统计,再进行逆向排序。

参数解读:

sort:
  -r:逆序输出排序结果
  -n:根据字符串数值比较
uniq:从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。
  -c:在每行前加上表示相应行目出现次数的前缀编号

查询某个IP的详细访问情况,按访问频率排序

[root@100 nginx]# grep '47.76.99.127' liuhaihua.access.log |awk '{print $7}'|sort |uniq -c |sort -rn |head -n 100 1641 /archives/497017.html 1038 /archives/503168.html 238 / 156 /js/libs/jquery-confirm.min.js 147 /js/libs/jquery.lazyload.min.js 142 /js/libs/nprogress.min.js 142 /js/libs/jquery.fancybox.min.js 141 /js/zhyd.js.....................

查看这个ip今天出现的次数


grep "47.76.99.127" /var/log/nginx/liuhaihua.access.log | grep "$(date +%d/%b/%Y)" | awk -F'"' '{print $2}' | awk '{print $2}'

这个命令的作用是:

  • grep "47.76.99.127":过滤出包含该IP地址的日志行。
  • grep "$(date +%d/%b/%Y)":进一步过滤出包含今天日期的日志行。
  • wc -l:统计这些行的数量。

 

查看这个IP今天访问的路径


grep "47.76.99.127" /var/log/nginx/liuhaihua.access.log | grep "$(date +%d/%b/%Y)" | awk -F'"' '{print $2}' | awk '{print $2}'

这个命令的作用是:

  • grep "47.76.99.127":过滤出包含该IP地址的日志行。
  • grep "$(date +%d/%b/%Y)":进一步过滤出包含今天日期的日志行。
  • awk -F'"' '{print $2}':提取出请求行(通常是第二个字段)。
  • awk '{print $2}':从请求行中提取出请求的URL路径(通常是第二个字段)。

 

图形化nginx访问日志神器

安装


yum install goaccess

命令查看


goaccess liuhaihua.access.log

生成静态文件

goaccess liuhaihua.access.log -o report.html --log-format=COMBINED