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
Linux小技巧之:两种方法统计访问web网站的前10个IP的更多相关文章
- Linux安装MySQL的两种方法
转载:http://blog.csdn.net/superchanon/article/details/8546254/ 1. 运行平台:CentOS 6.3 x86_64,基本等同于RH ...
- Linux添加系统调用的两种方法
前言 系统调用的基本原理 系统调用其实就是函数调用,只不过调用的是内核态的函数,但是我们知道,用户态是不能随意调用内核态的函数的,所以采用软中断的方式从用户态陷入到内核态.在内核中通过软中断0X80, ...
- 两种方法实现asp.net方案的前后端数据交互(aspx文件、html+ashx+ajax)
一个HTML页面只能显示HTML代码信息,不能与数据库进行数据的交互.asp.net方案提供了网页与数据库交互的方法,这里举出两种:①aspx文件 ②ashx文件+ajax技术 一.创建数据库 这里以 ...
- linux下时间同步的两种方法分享
方法1:与一个已知的时间服务器同步 复制代码 代码如下: ntpdate time.nist.gov 其中 time.nist.gov 是一个时间服务器. 删除本地时间并设置时区为上海 复制代码 代码 ...
- linux下时间同步的两种方法分享(转)
与一个已知的时间服务器同步 代码如下: ntpdate time.nist.gov 其中 time.nist.gov 是一个时间服务器. 删除本地时间并设置时区为上海 复制代码 代码如下: rm -r ...
- Linux下source文件两种方法
1.直接source命令加文件 source /etc/rc.d/init.d/functions 2.点(.)加文件 . /etc/rc.d/init.d/functions
- 统计web訪问前10的ip
cat access.log|awk '{print $0}'|sort|uniq -c|sort -nr|head -n 10
- android 之 启动画面的两种方法
现在,当我们打开任意的一个app时,其中的大部分都会显示一个启动界面,展示本公司的logo和当前的版本,有的则直接把广告放到了上面.启动画面的可以分为两种设置方式:一种是两个Activity实现,和一 ...
- Linux分析日志获取最多访问的前10个IP
原文地址:http://xuqq999.blog.51cto.com/3357083/774714 apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问 ...
随机推荐
- Set "$USE_DEPRECATED_NDK=true" in gradle.properties to continue using the current NDK integration. 解决办法
1.将 jni 文件夹名改为 cpp: 2.添加 CMakeLists.txt; 3.修改 build.gradle; externalNativeBuild { cmake { path " ...
- Atom相关资料整理
官网地址 https://atom.io/ Atom 中文社区 https://atom-china.org/ 常用插件 Emmet 这款插件是用来支持zend-coding,Emmet的前身是大名鼎 ...
- 私服仓库 nexus 环境搭建(win10)
1.1 简介: Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库 ...
- rhel 配置centos源
1.删除自带的yum包,清除/etc/yum.repos.d下面的文件 rpm -qa|grep yum|xargs rpm -e --nodeps(不检查依赖,直接删除rpm包) 2.安装cento ...
- /proc文件系统 - 汇总
0. /proc目录简介 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制. proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间 ...
- Linux终端命令全面介绍
Linux终端命令 一.文件目录类 1.建立目录:mkdir 目录名2.删除空目录:rmdir 目录名3.无条件删除子目录: rm -rf 目录名4.改变当前目录:cd 目录名 (进入用户home目录 ...
- [转]docker-compose教程(安装,使用, 快速入门)
本文转自:https://blog.csdn.net/pushiqiang/article/details/78682323 教程基于ubuntu下最新的compose版本3 参考: https:// ...
- C#关闭子窗口而不释放子窗口对象的问题解决
在网上找来一些方式,感觉还都不错,下面给出方式: 在线扫描相机的调试过程中,需要开辟调试界面来进行位置的配置.调试结束后,一种常用的方式是将调试参数保存并在下次启动时加载.另一种简单方式是直接使用该参 ...
- Django Rest framework 之 节流
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- 洛谷P4719 【模板】动态dp(ddp LCT)
题意 题目链接 Sol 动态dp板子题.有些细节还没搞懂,待我研究明白后再补题解... #include<bits/stdc++.h> #define LL long long using ...