安全日志分析

image
要打“”“” 英语的 不然过滤不出来
image
分析日志 /root/secure.zip ,编写脚本 /root/12.sh,如右图(注意对齐):
image
第一步:
分析日志:
image
image

第一步:过滤然后分析:
image
image
可以使用 awkprintf 功能来精确控制输出格式,将提取的字段与固定文本(如 IP: 用户: 登录成功)拼接。

具体命令

grep Accepted /tmp/secure | awk '{printf "IP: %s    用户: %s    %s %s %s 登录成功\n", $11, $9, $1, $2, $3}'

命令解释

  1. grep Accepted /tmp/secure:筛选 /tmp/secure 中包含 Accepted(SSH 成功登录)的行。
  2. awk '{printf ...}':对筛选后的每一行进行格式化输出
    • %s字符串占位符,依次对应后面的变量($11 为 IP、$9 为用户、$1 为月份、$2 为日期、$3 为时间)。
    • 拼接固定文本 IP: 用户: 登录成功,并通过 \n 换行。

执行该命令后,输出会直接符合目标格式:

IP: 120.244.93.139    用户: root    Mar 26 23:08:45 登录成功
IP: 120.244.93.30    用户: root    Apr 1 18:23:14 登录成功
IP: 120.244.93.30    用户: root    Apr 1 18:24:40 登录成功

注意:!!!!!!!!!!
print是正常awk取列,与printf不一样,printf 可以用 %s 站位

printf是rintf函数是格式输出函数,其关键字最末一个字母f即为“格式(format)”之意。其功能是按照用户指定的格式,把指定的数据显示到显示器屏幕上。

printf函数是一个标准库函数,它是函数原型在头文件“stdio.h”。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。

最后结果: grep Accepted /tmp/secure | awk '{printf "ip: %s 用户:%s %s %s %s 登录成功\n", $11,$9,$1,$2,$3}' (可以自己推出来)

posted on 2025-08-18 20:30  爱尔奎特‘殷’  阅读(5)  评论(0)    收藏  举报