Nginx查看出现最多的IP

先看一段nginx日志

可以看到,左边第一个,就是真实IP地址

先来获取真实IP地址

tail -10 /usr/local/nginx/logs/access.log | awk '{print $1}'

结果如下:

58.39.50.112

58.39.50.112

58.39.50.112

58.39.50.112

58.39.50.112

58.39.50.112

203.208.60.161

58.39.50.112

58.39.50.112

58.39.50.112

ip地址进行排序,sort默认是升序

tail -10 /usr/local/nginx/logs/access.log | awk '{print $1}' | sort

结果如下:

203.208.60.161

203.208.60.162

58.39.50.112

58.39.50.112

58.39.50.112

58.39.50.112

58.39.50.112

58.39.50.112

58.39.50.112

58.39.50.112

去除重复,使用uniq -c

-c 显示重复的次数

tail -10 /usr/local/nginx/logs/access.log | awk '{print $1}' | sort |uniq -c

结果如下:

      1 203.208.60.161

      1 203.208.60.162

      8 58.39.50.112

根据重复次数进行排序,使用命令sort -k1 -nr

-k 指定列数,1表示第一列

-n 以数值来排序

-r 降序排序,因为sort默认是按照升序来排序的,需要指定参数,才能降序。

tail -10 /usr/local/nginx/logs/access.log | awk '{print $1}' | sort |uniq -c|sort -k1 -nr

结果如下:

      8 58.39.50.112

      1 203.208.60.162

      1 203.208.60.161

提取前10名IP地址,这里我取最后1000行,不如结果没有10个,很尴尬

head -10 表示取前10行

tail -1000 /usr/local/nginx/logs/access.log | awk '{print $1}' | sort |uniq -c|sort -k1 -nr | head -10

    354 58.39.50.112

     75 123.180.242.149

     50 140.205.201.43

     46 101.226.33.221

     25 101.226.33.237

     24 171.88.42.11

     24 14.24.109.56

     23 106.17.23.222

     19 122.192.13.121

     17 220.181.132.197

如果发现Nginx有攻击行为,可以查看一下IP统计

查看排名前10的IP,这里取1万行

tail -10000 /usr/local/nginx/logs/access.log | awk '{print $1}' | sort |uniq -c|sort -k1 -nr | head -10

结果如下:

    508 58.39.50.112

     75 123.180.242.149

     50 140.205.201.43

     46 101.226.33.221

     43 101.226.33.237

     24 171.88.42.11

     24 14.24.109.56

     24 101.226.66.191

     23 106.17.23.222

     22 113.46.191.175

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏精讲JAVA

详述 PO VO BO DTO DAO 和 POJO 的概念及区别

 说实话,我相信对于刚接触 PO、VO、BO、DTO、DAO 和 POJO 这些概念的同学来说,大都会有一种“这都是什么鬼?”的感觉,可谓是云里雾里,不知今...

17120
来自专栏铭毅天下

干货 | Elasticsearch 趋势科技实战分享笔记

单一索引的问题: 1)不能更新Mapping。 比如:主分片数不可以修改(除非reindex)。 2)无法灵活、快速地扩展。 3)更适合固定、小型数据集。

21710
来自专栏精讲JAVA

详述 PO VO BO DTO DAO 和 POJO 的概念及区别

 说实话,我相信对于刚接触 PO、VO、BO、DTO、DAO 和 POJO 这些概念的同学来说,大都会有一种“这都是什么鬼?”的感觉,可谓是云里雾里,不知今...

22150
来自专栏Golang语言社区

beego 1.10.0 发布

beego经过了很长一段时间的修修补补,终于在周末发布了1.10.0版本,这一次详细更新如下,主要的特色是增加了自动https申请证书,增加了yaml格式支持输...

24150
来自专栏Golang语言社区

Golang逃逸分析

介绍逃逸分析的概念,go怎么开启逃逸分析的log。 以下资料来自互联网,有错误之处,请一定告之。 sheepbao 2017.06.10

62850
来自专栏猿天地

Hbuilder打包IOS关于定位描述问题

由于某些问题,上传的IPA包被苹果拒绝了,修改之后重新打包上传,一直传不上去,原因如下:

17310
来自专栏Python入门

Python存取文件方法有很多,但是这四种真的算的上是骚操作了

在不需要借助任何外界库的前提下,python内置方法其实也可以完成我们需要的文件存取任务,这里主要介绍几种python内置方法的使用方式,最后再给出一个实际案例...

21560
来自专栏FreeBuf

了解针对“所有”版本Android的Cloak & Dagger攻击

Cloak&Dagger攻击是一种利用权限不匹配问题来访问Android设备的攻击方法,版本在7.1.2及以下的Android设备都会受到这种攻击的影响。Clo...

12820
来自专栏ImportSource

JDK11中增加了一个常量池类型:CONSTANT_Dynamic

有关class file 的内容,这里不再赘述。你可以参阅此文:来自JVM的一封ClassFile介绍信。

31410
来自专栏移动端开发

Android学习--广播机制

        标准广播:  是一种完全异步执行的广播,在广播发出去之后,所有的广播接收器几乎是同一时接收到这条广播。

12250

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励