统计日志中访问次数最多的IP

发布时间:2017-03-27 14:48:07
Linux 

正文

日志的格式是

211.68.3.251 - - [21/Mar/2015:00:59:09 +0800] "GET / HTTP/1.1" 403 570 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36"

命令

cat access.log  | cut -d ' ' -f 1 | sort | uniq -c | sort -n -r -k 1 | head -n 10

注意第一个sort,很重要,不然uniq不起作用

结果

    599 59.66.112.147
    269 123.116.126.197
     95 211.68.3.251

分析

cat access.log显示所有文件的内容

cut -d ' ' -f 1表示按照空格分割每一行字符串,只取第一列结果返回;另外一个替代的命令是awk '{print $1}'

uniq -c统计每个内容出现的频率

sort -n -r -k 1排序,-n表示按照数字比较,-r表示逆序,从大到小,-k 1表示按照第一列进行比较

head -n 10取结果的前10行

备注:goaccess是一个不错的日志分析命令,可以尝试下:goaccess -f access.log

参考

原文地址:http://zhyoulun.com/post/most-frequent-ip-in-access-log
转载请注明出处