Processing math: 100%

【刷题】面筋-linux-如何查找出现频率最高的100个ip地址

命令:

  • cat + 文件名 + 管道 + 各种限制条件

简单示例:有如下文件test.txt

1 134.102.173.43
2 134.102.173.43
3 134.102.171.42
4 134.102.170.9
  • 要统计出现次数最多的IP可以利用以下shell脚本:

    • cat test.txt | awk '{print $2}' | sort | uniq -c | sort -n -r | head -n 1
  • 参数含义:

    • (针对首行不是IP地址信息的情况)tail -n +3 :去掉上面用红色标明的两行。

    • awk '{ print $5}':取数据的低5域(第5列),本例中是第2列,因此将5写为2。

    • (多加的限制,可忽略)cut -d : -f 1 :取蓝色部分前面的IP部分。

    • sort:对IP部分进行排序。

    • uniq -c:打印每一重复行出现的次数,并去掉重复行

    • sort -n -r:按照重复行出现的次序倒序排列。

    • head -n 5:取排在前5位的IP,本例中是找"最多",因此5可以写为1.

当前WEB服务器中联接次数最多的ip地址

  • 命令:netstat -ntu | tail -n +3|awk '{ print $5}' | cut -d : -f 1 | sort | uniq -c| sort -n -r | head -n 5

  • 参数解析:

    • tail -n +3 :去掉上面用红色标明的两行。

    • awk '{ print $5}':取数据的低5域(第5列),上面蓝色标明。

    • cut -d : -f 1 :取蓝色部分前面的IP部分。

    • sort:对IP部分进行排序。

    • uniq -c:打印每一重复行出现的次数。(并去掉重复行)

    • sort -n -r:按照重复行出现的次序倒序排列。

    • head -n 5:取排在前5位的IP

  • 其他示例:netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr

通过查看日志access_log文件进行统计

  • 查看日志中访问次数最多的前10个IP

    • cat access_log |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 | less
  • 查看日志中出现100次以上的IP

    • cat access_log |cut -d ' ' -f 1 | sort |uniq -c | awk '{if (1>100)print0}'|sort -nr | less
  • 查看最近访问量最高的文件

    • cat access_log | tail -10000 | awk '{print $7}' | sort | uniq -c | sort -nr | less
  • 查看日志中访问超过100次的页面

    • cat access_log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if (1>100)print0}' | less
  • 统计某url,一天的访问次数

    • cat access_log | grep '12/Aug/2009' | grep '/images/index/e1.gif' | wc | awk '{print $1}'
  • 前五天的访问次数最多的网页

    • cat access_log | awk '{print $7}' | uniq -c | sort -n -r | head -20
  • 从日志里查看该ip在干嘛

    • cat access_log | grep 218.66.36.119 | awk '{print 1"\t"7}' | sort | uniq -c | sort -nr | less
  • 列出传输时间超过 30 秒的文件

    • cat access_log | awk '($NF > 30){print $7}' | sort -n | uniq -c | sort -nr | head -20
  • 列出最最耗时的页面(超过60秒的)

    • cat access_log | awk '(NF > 60 &&7~/.php/){print $7}' | sort -n | uniq -c | sort -nr | head -100

参考链接

END

posted @   anliux  阅读(3800)  评论(1编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!
历史上的今天:
2019-05-08 【学习总结】《大话数据结构》- 第2章-算法
点击右上角即可分享
微信分享提示