web中间件日志分析脚本1.0(shell脚本)
- 一、功能
- 二、效果图
- 0.刚运行脚本需要输入日志文件名或绝对路径
- 1.可查看不同IP的访问次数
- 2.查看某一IP访问了哪些页面,下面还可以将该日志保存到文件中,按y保存,**IP一定要写选项1里面有的IP**
- 3.查看当天共有多少个IP访问
- 4.筛选出具有关键词的日志
- 三、代码
- 四、运行脚本
- 方法一
- 方法二
- 方法三
主要用于平时web日志的安全检查,护网还是直接看设备比较好
一、功能
- 列出当天不同IP的访问次数
- 查看某一个IP访问了哪些页面
- 查看当天有多少个IP访问
- 根据关键词筛选日志内容
二、效果图
0.刚运行脚本需要输入日志文件名或绝对路径
输入错误需要重新输入
1.可查看不同IP的访问次数
2.查看某一IP访问了哪些页面,下面还可以将该日志保存到文件中,按y保存,IP一定要写选项1里面有的IP
3.查看当天共有多少个IP访问
4.筛选出具有关键词的日志
三、代码
#!/bin/bash# 字体颜色
Green_font_prefix="\033[32m"
Red_font_prefix="\033[31m"
Font_color_suffix="\033[0m"# 分割线
line(){for i in {1..100};doif [ $i -ne 100 ];thenecho -ne "-"elseecho -e "-"fidone
}# 选项一
diffip(){linecut -d- -f 1 "$logfile"|sort| uniq -c | sort -rn
}# 选项二
oneip(){while true;doread -rp "请输入需要分析的IP:" iplineif [ "$(grep ^$ip $logfile |wc -l)" -ne 0 ];thengrep ^$ip $logfile| awk '{print $4."]",$1,$7,$9}'breakelseecho -e "${Red_font_prefix}未找到该IP!请重新输入!!${Font_color_suffix}"linecontinuefidone
}# 保存文件
savefile(){read -rp "是否保存到文件中(y/n):" chooseif [ $choose == "y" ] || [ $choose == "Y" ];thengrep ^$ip $logfile| awk '{print $4."]",$1,$7,$9}' > "$ip.txt"echo -e "已保存到$ip.txt中"fi
}# 选项三
howmanyip(){lineawk '{print $1}' $logfile|sort|uniq|wc -l
}# 选项四
keyword(){while true;dolineread -rp "请输入关键词(q为退出):" keyif [ $key == "q" ];thenbreakfimore "$logfile" | grep "$key"done
}while true;doread -rp "请输入需要分析的日志:" logfilefind "$logfile" &>/dev/nullif [ $? -ne 0 ];thenecho -e "${Red_font_prefix}未找到日志,请输入文件名或绝对路径!!(家目录要写全称而不是~)${Font_color_suffix}"lineelsebreakfi
done
# *****************************************
# ************** 主 面 板****************
# *****************************************
line
while true; do
echo -e "web中间件日志分析脚本 ${Red_font_prefix}[v1.0]${Font_color_suffix}${Green_font_prefix}1.${Font_color_suffix} 列出当天不同IP的访问次数
${Green_font_prefix}2.${Font_color_suffix} 查看某一个IP访问了哪些页面
${Green_font_prefix}3.${Font_color_suffix} 查看当天有多少个IP访问
${Green_font_prefix}4.${Font_color_suffix} 根据关键词筛选日志内容
${Green_font_prefix}5.${Font_color_suffix} 退出脚本
"
read -r -p "请输入数字 [1-5]:" numif [ "$num" -eq "1" ];thendiffipelif [ "$num" -eq "2" ];thenoneipsavefileelif [ "$num" -eq "3" ];thenhowmanyipelif [ "$num" -eq "4" ];thenkeywordelif [ "$num" -eq "5" ];thenecho ""echo -e "${Green_font_prefix}**************************************************** 谢谢您的使用,再见*****************************************************${Font_color_suffix}"exit 0elseecho -e "${Red_font_prefix}请输入正确数字!!${Font_color_suffix}"linecontinue
fi
line
done
四、运行脚本
方法一
sh 脚本名
方法二
bash 脚本名
方法三
chmod 777 脚本名
./脚本名 (这个要在脚本同一个目录才可以)
有的需求没有可以自己在代码上加,挺简单的
web中间件日志分析脚本1.0(shell脚本)相关推荐
- 光年SEO日志分析系统2.0
张国平老师的光年SEO日志分析系统今天更新了,这里第一时间放出下载地址和国平老师写的详解<光年SEO日志分析系统2.0>. 下载地址: <光年SEO日志分析系统>的介绍:htt ...
- linux 脚本 获取pid,Shell脚本中获取进程ID的方法
提问: 我想要知道运行中脚本子shell的进程id.我该如何在shell脚本中得到PID. 当我在执行shell脚本时,它会启动一个叫子shell的进程.作为主shell的子进程,子shell将she ...
- linux脚本简介,Linux Shell脚本简介
Shell 诞生于 Unix,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Lunix 基础. 近几年来,Shel ...
- Tcl/Tk脚本中执行Shell脚本
在Tcl/Tk脚本中执行Shell命令 set n 0 set x "*"while {$n < 10} {puts $xset x "$x"*set n ...
- 【跟晓月学shell脚本】掌握shell脚本变量原理及概念
前言 跟晓月一起学shell,死磕shell脚本,让shell脚本学习不再难. 想学习更多shell脚本的案例,可以前往我的师父的shell脚本专栏:shell脚本从入门到实战-案例篇 文章目录 前言 ...
- linux脚本编写规则,shell脚本编写守则
现在centos7中使用的是bash软件,通过以下命令可以查看bash版本: [root@localhost ~]# cat /etc/redhat-release #查看系统的版本 CentOS L ...
- 什么是脚本语言,shell脚本又是什么?
脚本语言就是解释型语言: 脚本语言(Script language,scripting language,scripting programming language)是为了缩短传统的编写-编译-链接 ...
- 【跟晓月学shell脚本】掌握shell脚本变量实战案例
前言 上篇文章我们探讨了shell脚本变量的基本原理和概念,本篇我们基于上面的内容增加一些实战. 如果你还没有学习shell脚本的变量理论,可以点击链接:[跟晓月学shell脚本]掌握shell脚本变 ...
- python分析服务器日志_python实现web服务器日志分析脚本
python日志分析脚本 用python可以实现大日志文件的分析,比如查到sql注入语句,然后看到IP,就可以改下脚本,用IP为特征取出日志,分析入侵过程. python比较shell脚本的优点是速度 ...
最新文章
- Ubuntu下编译并运行C++代码
- 来自95后的天池中间件大赛总结
- Maven内置属性及使用
- NHibernate 做个小项目来试一下吧 一
- 创建字节跳动之前,张一鸣读过哪些硬核技术书?
- [Linux] Ubuntu下的文件比较工具--meld
- 解决eclipse报PermGen space内存溢出异常的问题
- DOTNET零碎要点---1.vb.net利用Oracle.DataAccess.dll链接Oracle数据库
- 微信小程序nginx+uwsgi+django配置的域名问题
- 大数据分析的作用有哪些
- Arrays和比较器
- 跟对人,走对路,做对事!
- AD画PCB时,如何自动删除之前的连线
- Vuecli 城市三级联动的使用
- Kaggle--房价预测
- 搭建私人网盘(可离线下载、在线播放)
- C#中如何将uint16转为int16
- 晶体三极管的主要参数
- 数据sqlite 矢量切片_矢量切片(Vector tile)
- 将中文转换成URL编码
热门文章
- 仿抖音短视频APP源码html网页图片和文字水平居中垂直居中显示
- H5 video标签封面
- kafka 消息分发机制、分区和副本机制
- Error: Failed to download resource “node_bottle_manifest“ 错误解决
- 高被引论文有什么特征?
- 基于pytorch的Swim Transformer代码实现与讲解
- selenium+lxml爬取京东商品信息
- Jenkins 中文设置
- Unity 调试XLua.dll
- 关于孩子的教育,心理健康教育值得我们重视