简单的Web日志分析

article/2025/8/20 23:30:13

Web日志分析

以apache为例

访问日志记录过程

apache日志大致分为两类:访问日志和错误日志

访问日志记录的过程:

  • 客户端向web服务器发送请求,请求中包含客户端的IP、浏览器类型(User-Agent)、请示的URL等信息

  • web服务器向客户端返回请示的页面

  • web服务器同时将访问信息和状态信息记录到日志文件中

Apache的访问日志目录在其配置文件中已经定义好了,CentOS中apache的配置文件位置为/etc/httpd/conf/httpd.conf,默认的访问日志存放在/var/log/httpd/access_log

 

访问日志格式分析

apache中访问日志功能由mod_log_config模块提供,以默认的CLF来记录访问日志,如LogFormat "%h%l%u%t %r"

127.0.0.1 - - [13/Apr/2022:23:34:30 +0800] "GET /images/apache_pb.gif HTTP/1.1" 200 4897 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
内容含义
$1127.0.0.1远程主机IP地址,%h
$2-占位符,%l
$3-占位符,%u
$413/Apr/2022:23:34:30服务器完成请示处理时间,日/月/年:小时:分:秒:时间,%t
$5+0800时区
$6GET请示方法(GET,POST),%r\
$7/images/apache_pb.gif请示的资源URL
$8HTTP/1.1协议
$9200返回状态,%s
$101961发送给客户端的总字节数,%b
$11-此页面的链接地址(Referer),%{Referer}i\
$12Mozilla/5.0 ...客户端使用的浏览器信息,%{User-Agent}i\

Web日志统计举例

查看访问IP

cat access_log | awk '{print $1}'

awk '{print $1}' - 每行按空格或TAB分割,输出文本中的第1项,因为在access_log中的IP是第一项,所以这里用$1表示

对IP排序

cat access_log | awk '{print $1}' | sort

打印每一重复行出现的次数

cat access_log | awk '{print $1}' | sort | uniq -c

uniq用于检查及删除文本中重复出现的行列,一般与sort结合使用

-c - 在每列旁边显示该行重复出现的次数

 

排序并统计行数

cat access_log | awk '{print $1}' | sort | uniq -c | sort -rn | wc -l

sort 用于对文本文件内容进行排序,默认以ASCII码的次序排列

-r 以相反的顺序来排序

-n 依照数值的大小排序

wc用于打印文件的文本行数、单词数、字节数等

-l 打印指定文件的文本行数

显示访问前10位的IP地址

cat access_log | awk '{print $1}' | sort | uniq -c | sort -rn | heade -10

显示指定时间以后的日志

cat access_log | awk '$4>="[10/Apr/2022:01:00:01]"' access_log

找出访问量最大的IP,并封掉

cat access_log | awk '{print $1}' | sort | uniq -c | sort -rn | moreiptables -I INPUT -s 192.168.1.10 -j DROPiptables -I INPUT -s 192.168.1.0/24 -j DROP

找出下载最多的文件

cat access_log | awk '($7 ~/.exe/){print $10 "" $1 "" $4 "" $7}' | sort -n | uniq -c | sort -nr | head -10

或找出文件大于10MB的文件:

cat access_log | awk '($10 > 10000000 && $7 ~/.exe){print $7}' | sort -n | uniq -c | sort -nr | head -10

简单统计流量

cat access_log | awk '{sum+=$10}'

统计401访问拒绝的数量

cat access_log | awk '(/401/)' | wc -l

查看某一时间内的IP连接情况

grep "2022:04" access_log | awk '{print $4}' | sort | uniq -c | sort -nr

Apache错误日志分析

默认的错误日志位置/var/log/httpd/error_log

错误日志记录了服务器运行期间遇到的各种故障,以及一些普通的诊断信息,如服务器启动/关闭的时间

日志文件记录信息级别的高低,控制日志文件记录信息的数量和类型,这是通过LogLevel指令实现的,该指令默认设置的级别是error

级别越高,记录的信息越多,日志量越大

紧急程序等级说明
0emerg出现紧急情况使得该系统不可用,如系统宕机
1alert需要立即引起注意的情况
2crit关键错误,危险情况的警告,由于配置不当所致
3error一般错误
4warn警告信息,不算是错误信息,主要记录服务器出现的某种信息
5notice需要引起注意的情况
6info值得报告的一般消息,如服务器重启
7debug由运行于debug模式的程序所产生的消息

最常见的错误日志文件有两类:

  • 文档错误

    文档错误和服务器应答中的400系列代码对应,最常见的是404错误

  • CGI错误

    CGI程序输出到STDERR(Standard Error,标准错误设备)的所有内容都将直接进入错误日志


http://chatgpt.dhexx.cn/article/h8k2Sp4p.shtml

相关文章

Window日志分析

0x01 Window事件日志简介 Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。 Windows主要有以下三类日志记录系统事件:应…

LOG日志详解

欢迎关注作者博客 简书传送门 文章目录 Log的用途记录Log的基本原则日志的级别划分日志对性能的影响什么时候输出日志系统启动参数、环境变量异常捕获处函数获得期望之外的结果时关键操作 日志输出的内容什么时候使用J2SE自带的日志 典型问题分析该用日志的地方不用啰嗦重复、没…

日志管理与分析

ISBN: 978-7-121-40632-4 编著:日志易学院 页数:198页 阅读时间:2022-09-25 推荐指数:★★★★☆ 本书是国产日志易团队按照主流的日志管理系统的实践来写的, 讲解了日志分析的基本概念、法律法规、技术选型、采集和解…

Linux日志分析

文章目录 一、系统日志介绍二、rsyslog管理三、实践1.将ssh服务日志单独存放2.远程日志3.排错 一、系统日志介绍 无论你的操作系统是 Windows 还是 Linux ,只要使用操作系统,就都会产生日志。日志可以说记录了你在PC上的一切操作。就像小时候写的日记。…

日志分析方法

日志分析方法 日志分析方法分析方法: 1.特征字符分析(Signature-based):2.访问频率分析(Frequency analysis) 1.漏洞扫描检测:2.暴力破解检测:3.webshell 检测 难点:风险评估模型:参…

【日志分析】Window日志分析

0x01 Window事件日志简介 Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。 Windows主要有以下三类日志记录系统事件:应…

日志分析篇---Web日志分析

日志分析篇—Web日志分析 文章目录 日志分析篇---Web日志分析一、 web日志二、日志分析技巧三、日志分析案例1、定位攻击源2、搜索相关日志记录3、对找到的访问日志进行解读,攻击者大致的访问路径如下: 四、日志统计分析技巧五、我的公众号 一、 web日志…

日志文件分析

文章目录 日志的功能日志文件的分类主要日志文件介绍内核以及系统日志日志记录的一般格式程序日志分析日志管理策略配置日志服务器收集日志journalctl日志管理工具 日志文件 日志的功能 : 用于记录系统、程序运行中发生的各种事件 通过阅读日志,有助于…

Windows安全日志分析

Windows安全日志分析 0x00 引言 在应急响应初步阶段,我们会对系统日志、中间件安全日志、恶意文件等进行收集。接下来便是要进一步对这些文件进行分析:对恶意文件逆向、日志文件分析、梳理入侵时间线和入侵路径等。本文主要对Windows安全日志进行举例分…

分析日志的流程

Web日志分析常见方法工具 1.编码 某web日志 URL 编码 BASE64编码 16进制编码(以\x开头) utf-8编码 字符集 Unicode(以\u、\u、&#x、&#开头),gb2312,gbk 2.利用解码工具 http://www.mxcz.net/too…

spooling技术和通道及实现打印机共享

spooling技术的作用: 1、spooling技术的引入是为了 缓和高速CPU和低速I/O设备之间的矛盾 ; 2、spooling技术能够允许多台外部设备进行联机并发操作, 实现虚拟性 ; 在这个技术中用到了缓冲区和通道,缓冲区大家都…

假脱机技术Spooling和守护进程

文章目录 假脱机系统Spooling和守护进程1.假脱机技术的引入2.SPOOling系统的组成3.SPOOling系统的工作过程守护进程 假脱机系统Spooling和守护进程 1.假脱机技术的引入 脱机技术: 为了缓和CPU的高速性与IO设备的低速性间的矛盾,而引入了脱机输入&#…

【操作系统】SPOOLing技术(外部设备联机并行操作/假脱机技术)

SPOOling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备(生活中最常见的就是多台电脑共享同一个打印机) 目的:为了缓和CPU的高速性与I/O设备低速性之间的矛盾而引入了脱机输入/输出技术。…

操作系统~假脱机SPOOLing技术与缓冲区管理

文章目录 什么是脱机技术假脱机技术—―输入/输出缓冲区共享打印机的实现原理缓冲区的管理缓冲区的工作过程单缓冲双缓冲循环缓冲区缓冲池 什么是脱机技术 在传统的批处理操作系统中, 我们将输入数据统一写到磁带中, 又将输出数据统一写到磁带中, 这就是一种脱机技术 Tips:为…

实验四 模拟SPOOLING技术

实验目的 通过设计一个SPOOLING假脱机输出的模拟程序,更好地理解和掌握SPOOLING假脱机技术.。 实验内容 1.设计一个实现SPOOLING技术的进程 设计一个SPOOLING输出进程和两个请求输出的用户进程。 当用户需要输出时,调用请求输出进程,将需…

输入输出管理:假脱机技术(SPOOLING)

假脱机技术 假脱机技术(SPOOLING)1.1 脱机技术1.2 假脱机技术1.3 假脱机技术的应用1.4 假脱机技术和缓冲的区别 假脱机技术(SPOOLING) 下图来自程序员cxuan IO软件层次结构 1.1 脱机技术 脱机处理是一种计算机技术,是…

操作系统实验--spooling技术

实验四 假脱机技术 一、目的和要求 1、目的 假脱机(SPOOLING)技术是广泛应用于各种计算机系统的一种行之有效的输入输出手段。这种技术使用比较简单的方法,缓和了高速处理机与低速输入输出设备速度不匹配的矛盾,提高了设备的利用率…

操作系统 | 实验七 SPOOLING技术

文章目录 一、实验目的二、实验内容三、数据结构3.1 数据结构3.2 函数以及功能 四、程序流程图五、实验代码六、实验结果七、实验体会总结 一、实验目的 理解和掌握SPOOLING假脱机技术 二、实验内容 通过SPOOLING技术可将一台物理I/O设备虚拟为多台逻辑I/O设备,同…

假脱机技术spooling技术 原理易懂!

原理: 在手工输入,没有操作系统的阶段,只能通过纸带机把程序员的代码读入,然后CPU需要直接与纸袋机交互,由于输入和输出的速度很慢,即使CPU的处理速度很快,但是在数据输入和输出的时候&#xf…

操作系统:SPOOLing技术(假脱机技术)

一、什么是脱机技术? 批处理阶段引入了脱机输入/输出技术(用磁带完成) 流程如下: 人——> 纸带机——> 外围控制机——>磁带机——>主机——>磁带机——>外围控制机——>纸带机——>人 ①在外围控制器的控…