利用awk分析网站日志实例


利用awk分析网站日志实例


网站日志分析篇

1、获得访问前10位的ip地址:
cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10
2、获取访问次数最多的文件或页面,取前20个:
cat access.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -20
3、列出传输最大的几个exe文件(分析下载站的时候常用)
cat access.log | awk '($7~/.exe/){print $10 " " $1 " " $4 " " $7}' | sort -nr | head -20
4、列出输出大于200000byte(约200kb)的exe文件以及对应文件发生次数
cat access.log | awk '($10 > 200000 && $7~/.exe/){print $7}' | sort -n | uniq -c | sort -nr | head -100
5、如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面
cat access.log | awk '($7~/.php/){print $NF " " $1 " " $4 " " $7}' | sort -nr | head -100
6、列出最最耗时的页面(超过60秒的)的以及对应页面发生次数
cat access.log | awk '($NF > 60 && $7 ~/.php/){print $7}' | sort -n | uniq -c | sort -nr | head -100
7、列出传输时间超过 30 秒的文件
cat access.log | awk '($NF > 30){print $7}' | sort -n | uniq -c | sort -nr | head -20
8、统计网站流量(G)
cat access.log | awk '{sum+=$10}END{print sum/1024/1024/1024}'
9、统计404的连接
awk '($9~/404/)' access.log | awk '{print $9,$7}' | sort
10、查看是哪些蜘蛛在抓取内容:
还是给大家留点作业吧,希望大家努力开动脑筋哦,这还是相当简单的哈!

昨日未解答题揭晓:

根据端口列进程
方法一:netstat -tnlp | grep 80 |awk '{print $7}' | cut -d/ -f1
方法二:netstat -tnlp | awk '/22/{split($NF,port,"/");d[port[1]]++}END{for(i in d) print i}'
昨天留给大家的问题,是不是特别的简单呢? 在这里感谢各位小伙伴们积极的参与问题讨论,个别小伙伴还是非常用心和努力的。希望大家继续保持和努力哦!

号外号外:

 从今天开始,我们公众号推出参与奖,凡是通过微信与我们参与讨论互动最多的朋友,将获得我们送出的神秘礼物,还有机会获得Ansible中文官网马上将出版的新书哦! 我们将不定期的推出奖励计划 ! 奖励多多,小伙伴们,一起来吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值