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 ...
随机推荐
- ASP.NET Core 认证与授权[1]:初识认证
在ASP.NET 4.X 中,我们最常用的是Forms认证,它既可以用于局域网环境,也可用于互联网环境,有着非常广泛的使用.但是它很难进行扩展,更无法与第三方认证集成,因此,在 ASP.NET Cor ...
- SYSTEM_INFO
SYSTEM_INFO结构体包含了当前计算机的信息.这个信息包括计算机的体系结构.中央处理器的类型.系统中中央处理器的数量.页面的大小以及其他信息. SYSTEM_INFO,Win32 API函数Ge ...
- MySQL优化原理
前言 说起MySQL的查询优化,相信大家收藏了一堆:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理 ...
- Linux命令行与脚本编程大全第一章
1, 2,linux内核:内存管理.进程管理.文件管理.设备管理. 其中内存管理如下图: 通过命令 cat/proc/meminfo查看系统的内存状态.通过ipcs查看共享内存.信号量.消息队列信息. ...
- kmp next数组的理解(挺好的一篇文章 ,原来kmp最初的next是这样的啊,很好理解)
KMP算法的next[]数组通俗解释 我们在一个母字符串中查找一个子字符串有很多方法.KMP是一种最常见的改进算法,它可以在匹配过程中失配的情况下,有效地多往后面跳几个字符,加快匹配速度. 当然我 ...
- 详细分析apache httpd反向代理的用法
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- git fsck -- 一致性检查
格式: git fsck [选项] <path> 选项 git commit -a 提交所有改动的文件(a -- all) git commit -m 提交说明(m ...
- (转)C#中各种集合类比较
数组(Array)的不足(即:集合与数组的区别) 1. 数组是固定大小的,不能伸缩.虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是 ...
- webpack2使用ch8-loader解析less less自动添加浏览器前缀
1 目录结构 安装依赖 "less": "^2.7.2","less-loader": "^4.0.3", 2 web ...
- Python系列之反射、面向对象
一.反射 说反射之前先介绍一下__import__方法,这个和import导入模块的另一种方式 1. import commons 2. __import__('commons') 如果是多层导入: ...