Linux小技巧之:两种方法统计访问web网站的前10个IP

 获得访问前10位的IP地址:

[root@manage:~]# cat /var/log/nginx/access.log | awk '{print $1}'|sort|uniq -c | sort -nr | head -10
  10299 10.46.170.7
      4 218.202.70.147
      1 77.72.83.87
      1 5.39.217.107
      1 185.197.74.234
      1 185.197.74.231

 第二种方法:

[root@ELK-chaofeng ~]#cat /var/log/httpd/access_log | awk '{IP[$1]++}END {for (i in IP){ if (IP[i]>=5) {print IP[i],i}}}' | sort -n
5 1.197.190.113
5 80.82.70.187
6 59.36.132.144
8 176.32.33.80
9 124.90.55.182
10 39.98.206.21
64 222.88.236.174

这个例子是我加上了if判断,只有连接数大于5的时候,才会被执行

此外还有一点需要注意:sort中有个-n参数表示以数字进行排序,默认是以每行的第一字段的数值来进行排序的。

也可以格式化显示的整齐一点:

[root@ELK-chaofeng ~]#cat /var/log/httpd/access_log | awk -F' ' '{IP[$1]++}END{for (i in IP) {if (IP[i] >= 5){printf "%-5d  %-15s\n",IP[i],i}}}' | sort -rn
136    182.117.204.113
64     222.88.236.174
10     39.98.206.21
9      124.90.55.182
8      176.32.33.80
6      80.82.70.187
6      59.36.132.144
5      1.197.190.113

 

转载于:https://www.cnblogs.com/FengGeBlog/p/10289239.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值