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.
[root@znix test]# awk '{hotel[$1]++}END{for(pol in hotel)print pol,hotel[pol]}' access.log |head -3
101.226.125.115 284
180.154.137.177 516
101.226.125.116 127
1.4 统计access.log文件中网站一共使用了多少流量
统计总数较为简单
i=i+$10可以写为 i+=$10
i累计相加,然后再输出最后一个i的值即可。
[root@znix test]# awk '{i=i+$10}END{print i}' access.log
2478496663
1.5 统计access.log文件中每个ip地址使用了多少流量
Connecting to 10.0.0.201:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
SSH-2.0-OpenSSH_5.3
2.1.2 方法二 ss -lntup
[root@znix ~]# ss -lntup|grep 22
tcp LISTEN 0 128 :::22 :::* users:(("sshd",1140,4))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",1140,3))
2.1.3 方法三 强大的nmap
[root@znix test]# nmap -p22 10.0.0.201
Starting Nmap 5.51 ( http://nmap.org ) at 2017-09-22 11:10 CST
Nmap scan report for 10.0.0.201
Host is up (0.000072s latency).
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 0.30 seconds
2.1.4 方法四 lsof -i:22
-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )
[root@znix ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1140 root 3u IPv4 10300 0t0 TCP *:ssh (LISTEN)
sshd 1140 root 4u IPv6 10302 0t0 TCP *:ssh (LISTEN)
sshd 1334 root 3u IPv4 11050 0t0 TCP 10.0.0.201:ssh->10.0.0.1:42256 (ESTABLISHED)
sshd 1700 root 3u IPv4 12198 0t0 TCP 10.0.0.201:ssh->10.0.0.1:42772 (ESTABLISHED)
2.1.5 方法五 nc
使用方法: nc ip port
[root@znix ~]# nc 10.0.0.201 22
SSH-2.0-OpenSSH_5.3
2.2 linux中要安装的一些软件
[root@znix ~]# yum install telnet tree lrzsz nmap nc dos2unix -y
telnet 远程连接服务,可以进行测试
tree 让文件,目录以树的形式显示
lrzsz linux与windows文件相互传递
nmap 强大的扫描工具
nc 网络探测工具
dos2unix 将dos格式的文本转换为unix格式
2.3 查看系统网关的方法 ip命令
2.3.1 查看系统的网关
ip r 与ip route 相同
[root@znix test]# ip r
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.201
169.254.0.0/16 dev eth0 scope link metric 1002
default via 10.0.0.2 dev eth0
2.3.2 参看网卡的详细-IP地址
ip address show eth0 与 ip a s eth0 相同。
[root@znix test]# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
inet6 fe80::20c:29ff:fea8:e414/64 scope link
valid_lft forever preferred_lft forever
2.4 【面试题】 ps aux 里面的vsz rss 区别
vsz 虚拟内存(物理+swap)
rss 是物理内存
awk巩固练习题的更多相关文章
- Linux实战教学笔记18:linux三剑客之awk精讲
Linux三剑客之awk精讲(基础与进阶) 标签(空格分隔): Linux实战教学笔记-陈思齐 快捷跳转目录: * 第1章:awk基础入门 * 1.1:awk简介 * 1.2:学完awk你可以掌握: ...
- linux之awk基础
第一章 1.awk 简介 awk不仅仅时linux系统中的一个命令,而且是一种编程语言,可以用来处理数据和生成报告(excel).处理的数据可以是一个或多个文件,可以是来自标准输入,也可以通过管道获取 ...
- awk高级进阶
第1章 awk数组练习题 1.1 文件内容(仅第一行) [root@znix test]# head -1 secure-20161219 access.log ==> secure-20161 ...
- (转)不看绝对后悔的Linux三剑客之awk实战精讲
原文:http://blog.51cto.com/hujiangtao/1923930 一.Linux三剑客之awk命令精讲 第1章 awk基础入门 1.1 awk简介 awk不仅仅时linux系统中 ...
- Linux三剑客之awk精讲(基础与进阶)
第1章 awk基础入门 要弄懂awk程序,必须熟悉了解这个工具的规则.本实战笔记的目的是通过实际案例或面试题带同学们熟练掌握awk在企业中的用法,而不是awk程序的帮助手册. 1.1 awk简介 一种 ...
- linux的基本操作(正则表达式)
正则表达式 这部分内容可以说是学习shell脚本之前必学的内容.如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强.所以不要嫌这部分内容啰嗦,也不要怕麻烦,要用心学习.一定要多加练习,练 ...
- [shell练习]——awk练习题
1. sed和awk有什么区别? (1)awk:按列(域)操作:sed:按行操作(2)awk:文本处理语言,适合对文本进行抽取处理:sed:非交互式的编辑器,适合对文本进行编辑 2. awk要处理域的 ...
- awk练习题
1. sed和awk有什么区别? (1)awk:按列(域)操作:sed:按行操作 (2)awk:文本处理语言,适合对文本进行抽取处理:sed:非交互式的编辑器,适合对文本进行编辑 2. awk要处理域 ...
- awk练习题-v参数
[xxxx.com]a=123bsas=sa2asd=a12ip=ip123[ooo.com]asd12=1223ip=ip123xas=123[xxoo.cn]asas=123sip=xs12213 ...
随机推荐
- 常见sql技巧
一.一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 not in/not exists都不是好 ...
- 最常用前端框架BootStrap——栅格系统
前 言 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列.它包含了易于使用的预定义类,还有强大的mix ...
- 通过修改 LayoutInflater,全局替换字体!!!
序 在 Android 下使用自定义字体已经是一个比较常见的需求了,最近也做了个比较深入的研究. 那么按照惯例我又要出个一篇有关 Android 修改字体相关的文章,但是写下来发现内容还挺多的,所以我 ...
- oracle排序的几种方法
1.创建数据库表 CREATE TABLE USER_INFO( USERID VARCHAR2(10 BYTE) NOT NULL, USERNAME ...
- JavaScript设计模式接口
JavaScript中实现接口的方法有三种: 第一种,使用注释的方法实现接口 特点:(1)最简单,但是功能最弱(2)利用 interface和 implement"文字"(3)把他 ...
- BS4爬取糗百
-- coding: cp936 -- import urllib,urllib2 from bs4 import BeautifulSoup user_agent='Mozilla/5.0 (Win ...
- SpringMVC拦截器Interceptor
SpringMVC拦截器(Interceptor)实现对每一个请求处理前后进行相关的业务处理,类似与servlet中的Filter. SpringMVC 中的Interceptor 拦截请求是通过Ha ...
- jquery系列教程2-style样式操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...
- 使用binlog2sql做数据恢复的简单示例
有时我们会遇到操作人员误删或者误更新数据的情况,这时我们迫切希望把原来的数据还原回来,今天我们介绍一个简单的工具来方便的实现此功能. 前提条件 在实现数据恢复之前,需要我们的MySQL满足以下配置条件 ...
- Mysql数据库导出数据字典文档Word或者HTML的3个工具
最近需要将Mysql的数据库导出一份Word的文档出来,本文记录调研后几个可用的工具和方法: 阿里云DMS工具导出 适用于存储在阿里云RDS服务中的Mysql数据库 导出格式支持:Word.Excel ...