shell统计ip访问情况并分析访问日志
有日志 1.log,部分内容如下:
112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com“/seccode.php?update=0.5593110133088248″ 200″http://formula�x.haotui.com/registerbbs.php” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1;)”61.147.76.51 – [25/Sep/2013:16:08:31 +0800]xyzdiy.5d6d.com“/attachment.php?aid=4554&k=9ce51e2c376bc861603c7689d97c04a1&t=1334564048&fid=9&sid=zgohwYoLZq2qPW233ZIRsJiUeu22XqE8f49jY9mouRSoE71″301″http://xyzdiy.5d6d.com/thread-1435-1-23.html” “Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”
统计出每个 IP 的访问量有多少
习题分析
这种分析日志的需求,在平时工作中很常见,而且找运维工作时的笔试题里面出现频率也非常多。
根据日志内容,可以看到 IP 地址就是第一段内容,所以只需要把 1.log 的第一段给过滤出来,然后近一步统计每一个 IP 的量即可。
过滤第一段,使用 awk 就可以很容易得到,而统计每个 IP 的访问量则需要排序然后再计算数量,
排序使用 sort 命令,统计每个 IP 访问量用 uniq。
习题答案
awk '{print $1}' 1.log |sort -n |uniq -c |sort -n
答案解析
awk 命令在分段方面还是比较有优势的,这里的{print $1}讲第一段打印出来,awk 可以用-F 指定分隔符,如果不指定分隔符,默认就以空白字符(比如空格、Tab 等),本题中,IP 地址就是在第一段。
sort 命令是排序的命令,-n 选项表示以数字的形式排序,如果不加-n,则以 ASCII 排序,本题中的 IP 地址以数字的形式排序更容易区分。
uniq 命令是用来去重复的,一个文本中如果有多行内容是一模一样的,使用 uniq 命令就可以把相同内容的行给删除掉,只留一行。而-c 选项的作用是计算重复的行数,所以在此题中使用 uniq -c 正好可以计算 IP 地址的访问数量。不过,大家一定要注意,uniq 去重的前提是首先要排序。
本题答案里最后没得 sort -n 意思是按访问量大小来排序,请求量越大的 IP 排在越后面,如果要想排在前面,可以加一个-r 选项,即 sort –nr
转载于:https://www.cnblogs.com/cheyunhua/p/11212050.html
shell统计ip访问情况并分析访问日志相关推荐
- linux 访客日志ip,shell统计ip访问情况,要求分析访问日志分析。
[题目要求] 有日志 1.log,部分内容如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com "/se ...
- 使用百度统计功能快速统计网站的访问情况
在网站建设完成后,很多人都希望统计到网站的访问情况,如访问了哪个页面.页面停留时间.访问者的IP地址以及访问设备.访问者所在的省份区域.访问来源等诸多信息,要实现这种功能可以自行编写代码,从http请 ...
- linux 查询ip归属地的工具,Linux 通过shell查询ip归属地(curl请求转码)
root@kickseed:~# ping www.baidu.com #用百度进行测试获取百度IP ...
- 服务器网站访问日志分析,服务器日志分析与流量统计_直观快捷分析每个网站的日志...
本帖最后由 软程科技 于 2019-9-9 19:13 编辑 应用名称:日志分析与流量统计 价格:1元 作者:软程科技 版本: 2.1.9 提示(使用前必读): 1. 此插件未在超大(超过1G)的日志 ...
- Python基于nginx访问日志并统计IP访问量
如果想看看Nginx有多少IP访问量,有哪些国家访问,并显示IP地址的归属地分布,python可以结合使用高春辉老师ipip.net[免费版 IP 地址数据库],Shell可以使用nali,我这边主要 ...
- shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...
当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在 ...
- linux 访问日志ip排序,Linux通过日志文件统计IP访问次数排序
假设我的日志文件内容如下: 218.92.217.53 - - [22/Nov/2017:17:26:27 +0800] "GET /images/rand HTTP/1.0" 2 ...
- php nginx日志分析,如何通过NGINX的log日志来分析网站的访问情况,试试这些命令...
想知道你的网站每天的访问情况吗?有多少人访问了?访问最多的页面是哪个?哪个时段访问的人最多?哪个地方访问的最多?每秒有多少请求?很好奇吧,只要你是使用了nginx进行请求抓发,那么就试试下面的命令吧, ...
- shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)
当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在 ...
最新文章
- python xpath用法_Python--xpath的使用
- leetcode算法题--Lemonade Change
- c++常见操作的模板
- 初步了解Linux创建文件系统命令
- 深入出不来nodejs源码-V8引擎初探
- 轻松自动化---selenium-webdriver(python) (九)
- java方法参数类型不确定_一个Java方法能有多少个参数类型?这个好奇coder做了个实验...
- 高频Linux命令小结(新手向)
- 做微信营销你知道男女用微信的习惯吗?
- 如何格式化电脑_电脑硬盘不小心格式化如何恢复【恢复方法】
- 设计模式(6)——命令模式
- idea中 Application Server not specified
- Word转换PDF:pdf虚拟打印机怎么用操作技巧详解
- Matlab画图和点标记
- 实战教你刷显卡BIOS
- astah——UML类图画法
- [边缘检测算法] Sobel算子及其PC端优化提速20几倍
- 【巷子】---fetch---基本使用
- day1-python猜单词游戏
- 学术英语视听说2听力原文_大学英语新世纪视听说第二册听力原文及答案免费...