Linux10 三剑客 正则表达式

三剑客

grep

擅长过滤,按行过滤

首先要把多个虚拟机的网络改成一种形式

爆破攻击:爆破攻击是一种尝试通过穷举法(即尝试所有可能的组合)来破解密码或身份验证的方法。这种攻击通常用于尝试登录到系统、网络或应用程序,通过不断尝试用户名和密码的组合来找到正确的登录信息。爆破攻击可以针对各种身份验证机制,包括但不限于用户名和密码、验证码等。

系统自动记录:Linux  /var/log/secure

可以通过grep指令去筛选日志中异常的指令或IP,查看是否有人爆破攻击自己的主机

我们cd到log里面,可以发现有一个secure文件

我们cat  secure 会发现里面有一行一行的记录,记录的是谁在登录这个主机

 

我们从中可以看到是哪个IP登录的,因为什么原因登陆失败

与grep 'Failed password' secure等价

这个指令可以查找到登录本主机出现密码错误的指令,从而查找到相应的IP

我们的目的是为了将IP筛选出来,我们可以使用-p参数

这我们就需要正则表达式了,我么可以搜索,正则表达式 在线工具进行查找

 grep 'Failed password' secure | grep -P "正则表达式"  通过这个指令筛选出对应的IP

-Po仅筛选IP

CTRL+k删掉空格后面内容

grep 'Failed password' secure | grep -P "正则表达式" | sort -n  对IP排序

grep 'Failed password' secure | grep -P "正则表达式" | sort -n | uniq -c  去重,显示出重复次数

如果看到IP登录次数异常,那可能就是在爆破攻击

我们来查找一下services文件

将钱前50行输出到一个新的文件中去

我们可以看到这有一个text.txt

我们可以查看一下这两条指令的不同

grep '关键词'  文件名  过滤出包含关键词的内容

-n显示行数

我们可以通过vi指令特定到某一行的内容修改

该指令是对结果进行统计

效果同上

-i 表示不区分大小写

-v 表示取反,取出没有关键词的行

-w 表示精准匹配,只会匹配出与整个关键词的项,而不是包含关键词的项

-o只显示结果

-A2将关键词后面的两行也显示出来了

-B2显示前两行

-C2前后两行都显示出来

-E匹配某关键词,例如图中,表示匹配某tp

-P '\d+'  匹配数字

-P '\d{数字}'  匹配几位数字

-E 和-P都可以指定正则

sed

我们建一个文件

我们把1.txt修改成这样

我们打印一下3a,p表示打印的意思,基本格式如图所示

sed会默认把文件内容全部打印一边,再把匹配的内容在打印一遍

如果我们想单独打印,我么可以加上-n参数

打印

删除后所剩的文件,并没有删除源文件

-i参数直接修改文件内容而不是输出终端

该指令表示把以#开头的行删掉

删除1-3行

在第四行下面插入hello l11

在第三行前面插入bye bye

我们可以通过sed 's#被替换#替换成#' 文件名   的指令进行替换操作

表示每一行第一个大写的A被替换成xxx

表示所有的A都被替换成xxx,我们只需要在‘’里添加g

表示不区分大小写,所有的aA都替换

awk

我们先创建一个文件,并加入以下内容

awk按空格识别一列

我们使用该指令取第一列,$1

NF取最后一列

我们可以看到最后一列显示在前,第一列显示在后,我们可以由此发现,基于awk,我们可以对文档进行重新排版

创建一个新的文件,并输入这些内容

用awk计算

取第一行

我们可以通过awk指令过滤出ip,比正则要方便

awk可以指定分隔符,第一个''里就是指定的分隔符

还可以拼凑指定文本

找出第一列数据中带有h的,并取出第二列和第三列

正则表达式

正则表达式就是一套处理大量的字符串而定义的规则和方法

我们先把services中的前一百行拿到test文件中做示例

^表示以...开头

-E表示正则,-v表示取反-Ev在这里表示取不以#开头的

$表示以...结尾

^$表示空行(将所有空行匹配出来)

得到非空行数据

在源文件中删除空行-i

找到含有udp的行

.表示任意匹配

新建一个文件并输入该内容

我们可以看到这两个的区别,下面的22是以两个2为一组,所以第二行会有一个2没有被匹配到

这个意思是前面的1会匹配到,而2几次都可以

我们也可通过grep指令得到去掉空格和#开头的每一行

我们通过该指令可以去除#后面的所有

我们在通过这个指令去除空行

我们可以通过这个指令筛选数字

我们也可以同时对两个条件进行筛选

取反,取不是0-9的

我们可以通过这条指令来匹配IP

单独把IP提出来

+重复一到多次

0重复0到多次

per正则表达式

这个指令匹配IP会更精准

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值