awk巩固练习题

第1章 awk数组练习题

1.1 文件内容(仅第一行)

[root@znix test]# head -1 secure-20161219 access.log

==> secure-20161219 <==

Dec 11 03:49:25 localhost sshd[27087]: Failed password for invalid user support from 123.31.34.190 port 55493 ssh2

 

==> access.log <==

101.226.61.184 - - [22/Nov/2015:11:02:00 +0800] "GET /mobile/sea-modules/gallery/zepto/1.1.3/zepto.js HTTP/1.1" 200 24662 "http://m.oldboyedu.com.cn/mobile/theme/oldboy/home/index.html" "Mozilla/5.0 (Linux; U; Android 5.1.1; zh-cn; HUAWEI CRR-UL00 Build/HUAWEICRR-UL00) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.4 TBS/025478 Mobile Safari/533.1 MicroMessenger/6.3.7.51_rbb7fa12.660 NetType/3gnet Language/zh_CN"

1.2 统计secure文件中谁在破解你的密码(统计出破解你密码的ip地址出现的次数)

1.2.1 方法一

Failed         是用户登陆失败,连续多次的登陆失败,就是在暴力破解密码。

/Failed/        关键词查找

$ (NF-3)       表示倒数第四列

fa[$(NF-3)]++ 使用数组,对不同的ip分类累加

for(pol in fa)    for循环 使用pol 变量,逐个的取出fa[$(NF-3)] 数组中的内容。

print pol,fa[pol] 显示数组的内容,以及pol的次数,即统计.

[root@znix test]# awk '/Failed/{fa[$(NF-3)]++}END{for(pol in fa)print pol,fa[pol]}' secure-20161219|column -t

218.65.30.126    17163

218.65.30.61     17163

125.16.71.175    4

169.46.38.74     9

183.136.238.78   30

218.2.0.16       10

122.228.238.66   1

……

1.2.2 方法二

sort排序,把一样的都放在一起,uniq去重经常合并 -c 参数是计数.

[root@znix test]# awk '/Failed/{print $(NF-3)}' secure-20161219 |sort|uniq -c|sort -n

1.2.3 结果统计

[root@znix test]# awk '/Failed/{fa[$(NF-3)]++}END{for(pol in fa)print pol,fa[pol]}' secure-20161219|column -t|wc -l

88

1.3 统计access.log文件中对ip地址去重并统计重复数

使用数组对不同的ip进行统计

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值