Linux10 三剑客 正则表达式

news2024/12/23 16:56:49

三剑客

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会更精准

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2041261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《系统架构设计师教程(第2版)》第14章-云原生架构设计理论与实践-04-云原生架构案例分析(二)云原生技术助力某汽车公司数字化转型实践

文章目录 1. 背景和挑战2. 基于云原生架构的解决方案3. 应用效益 1. 背景和挑战 汽车行业正迅速步入数字化时代。车企服务的对象发生变化,从购车市场转为覆盖后车市场的全周期,通过互联网渠道直面客户,服务客户急速增多。为适配客户快速变化…

【面试题】N皇后

N皇后 仅供学习 一、问题描述 n 皇后问题是一个经典的组合问题,可以通过回溯算法来解决。 二、python代码 def solve_n_queens(n):def can_place(row, col):# 检查这一行之前是否有列可以放置皇后for i in range(row):if board[i] col or abs(board[i] - col) …

【myz_tools】python库:算法与文档生成

写在前面 本来最开始只是单纯的想整理一下常用到的各类算法,还有一些辅助类的函数,方便时间短的情况下快速开发。后来发现整理成库更方便些,索性做成库,通过pip install 直接可以安装使用 关于库 平时见到的各类算法大多数还是…

抽象语法树AST

什么是AST 在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构&#xff0c…

【Linux】系列入门摘抄笔记-7-用户和用户组管理

用户分类 在Linux操作系统项用户的类型一般分为超级管理员(root)、系统用户和普通用户三类: (1)超级管理员:即root用户,在整个Linux操作系统中权限最高,权限最高也意味着风险最高,若操作失误就可能使整个系统崩溃。 (2)系统用户:默认不登录操作系统,用于运行和维…

大模型常见面试题解析【附答案版】

1、在Transformer模型中,为什么scaled dot-product attention在计算QK内积之后要除以根号d? 简单来说,就是需要压缩softmax输入值,以免输入值过大,进入了softmax的饱和区,导致梯度值太小而难以训练。如果不…

哈希以及闭散列和开散列

哈希 一、哈希1、概念2、哈希冲突 二、哈希函数1、设计原则2、常见的哈希函数(1)直接定址法(2)除留余数法(3)平方取中法(4)折叠法(5)随机数法(6&a…

期权快到期卖不出去了怎么办 ?

期权在最后交易日如果平仓卖不出去,说明没有市场参与者愿意以你的报价买入该期权。这种情况通常出现在期权价值极低,接近于0,或者期权已经深度虚值,即行权价远离当前市场价格而且剩余时间已非常有限,使得该期权的内在价…

vue选中下拉框数据,但是值没有填充到框内

​​ 下拉框选中数据后&#xff0c;roomType的值没有自动更新 查找资料后的已解决&#xff0c;特此记录。 解决办法&#xff1a; 加入强制更新时间 <el-form-item label"房型" prop"roomType"><el-select v-model"form.roomType" pla…

RAG问答系统|QAnything:多类型文本的知识库,安全可靠、一键离线部署

转自老贾探AI 在日常生活和工作中&#xff0c;我们经常面对大量本地信息资料&#xff08;如PDF、Doc等&#xff09;&#xff0c;需要进行关联理解和处理。频繁地切换和区分文件格式&#xff0c;再加上需要跨语言理解的环境&#xff0c;使得如何找到一个准确、快速、可靠地处理文…

48天笔试训练错题——day48

目录 选择题 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 编程题 1. 左右最值最大差 2. 顺时针打印矩阵 选择题 1. cookie 是浏览器存储数据的机制&#xff0c;是用于维护 http 通信当中客户端的用户信息的。 2. 403 Forbidden 表示资源不可用&#xff0c;服务器理解客户请…

前端案例:酷我音乐项目(移动端自适应)(HTML+CSS)

一个简单的移动端案例&#xff0c;模拟不同设备下逻辑分辨率不同&#xff0c;宽高自适应 正常打开整体布局 打开 f12 &#xff08;ctrl shift M&#xff09;或者点击左上角图标,将其模拟为移动端设备 在移动设备iPhone6/7/8&#xff0c;逻辑分辨率375的整体布局 头部和底部的…

虚幻5|角色武器装备的数据库学习(不只是用来装备武器,甚至是角色切换也很可能用到)

虚幻5|在连招基础上&#xff0c;给角色添加武器并添加刀光|在攻击的时候添加武器并返回背后&#xff08;第一部分&#xff0c;下一部分讲刀光&#xff09;_unreal 如何给角色添加攻击-CSDN博客 目的&#xff1a;捡起各种不同的武器&#xff0c;捡起的武器跟装备的武器相匹配 …

C语言日常练习 Day15

目录 一、猴子吃桃问题。 二、两个乒乓球队进行比赛&#xff0c;各出3个人。甲队为A&#xff0c;B&#xff0c;C3人&#xff0c;乙队为X&#xff0c;Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单&#xff0c;A说他不和X比赛&#xff0c;C说他不和X&#xff0c;Z比赛…

Java爬虫中的数据清洗:去除无效信息的技巧

在互联网信息爆炸的时代&#xff0c;数据的获取变得异常容易&#xff0c;但随之而来的是数据质量的问题。对于Java爬虫开发者来说&#xff0c;如何从海量的网页数据中清洗出有价值的信息&#xff0c;是一个既基础又关键的步骤。本文将介绍Java爬虫中数据清洗的重要性&#xff0…

VBA自动发邮件如何配置SMTP实现外部发送?

VBA自动发邮件的教程&#xff1f;如何利用VBA自动化发送邮件&#xff1f; 在使用VBA进行自动化办公任务时&#xff0c;自动发送邮件是一项非常实用的功能。AokSend将详细介绍如何通过VBA自动发邮件&#xff0c;并配置SMTP实现外部发送的过程。 VBA自动发邮件&#xff1a;准备…

前端开发攻略---彻底弄懂跨域解决方案

目录 1、浏览器的同源策略 1.1 源 1.2 同源与非同源 1.3 同源请求与非同源请求 2、跨域受到的限制 3、注意点 4、CORS解决Ajax跨域问题 4.1 CORS概述 4.2 CORS解决简单请求跨域 4.3 简单请求与复杂请求 4.4 CORS解决复杂请求跨域 4.5 借助CORS库快速完成配置 5、JS…

Daiqile SQL注入绕过

上源码。 <?php header("Content-type: text/html; charsetutf-8"); require db.inc.php;function dhtmlspecialchars($string) {if (is_array($string)) {foreach ($string as $key > $val) {$string[$key] dhtmlspecialchars($val);}}else {$string str_…

【C++】掌握C++类的六个默认成员函数:实现高效内存管理与对象操作

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇 本篇为大家分享下在C学习中较为具有挑战与难度&#xff0c;同时也是很重要知识。掌握C类的六个默认成员函数&#xff0c;使得在模拟实现STL中容器过程得心应…

企业必备:2024年顶尖10款人事管理系统

本篇文章介绍了以下几个工具&#xff1a;Moka、卓望ShineHR、华夏HR云、中智人事、i人事、北森iTalentX、红海云、Zenefits、ICE Hrm、ADempiere。 在选择合适的人事管理系统时&#xff0c;很多企业面临如何找到既可靠又能满足特定需求的平台的难题。每个系统都有其独特之处&am…