【玄机】第二章日志分析-apache日志分析

什么是Apache日志

Apache日志分析是指对Apache HTTP服务器生成的日志文件进行解析、处理和挖掘,以获取有关服务器性能、用户行为、安全事件等方面的信息。Apache日志通常包括访问日志(access log)和错误日志(error log),分析这些日志有助于优化服务器性能、识别潜在威胁和改进用户体验。

主要日志类型

  1. 访问日志(Access Log)

    • 记录每个HTTP请求的详细信息,如客户端IP、请求时间、请求方法、请求资源、HTTP状态码、响应大小等。

    • 示例:192.168.1.1 - - [10/Oct/2023:14:55:36 +0000] "GET /index.html HTTP/1.1" 200 1024

  2. 错误日志(Error Log)

    • 记录服务器处理请求时遇到的错误,如文件未找到、权限问题等。

    • 示例:[Tue Oct 10 14:55:36.123456 2023] [error] [client 192.168.1.1] File does not exist: /var/www/html/missing.html

 第一题

我们先去apache目录下看看日志

cd /var/log/apache2

可以看到有一个备份文件,access.log.1

我们查看一下

发现有几千上万条信息,看得得用过滤命令了

 cut -d- -f 1 access.log.1|uniq -c | sort -rn | head -20

1. cut -d- -f 1 access.log.1

  • cut:用于从文本中提取特定字段。

  • -d-:指定字段分隔符为 -

  • -f 1:提取第一个字段。

  • access.log.1:要处理的日志文件

2. uniq -c

  • uniq:用于过滤或统计连续重复的行。

  • -c:在每行前加上该行重复出现的次数。

作用
统计提取的字段中连续重复的行及其出现次数。

注意
uniq 只能处理连续重复的行,因此在使用 uniq -c 之前,通常需要先对数据进行排序(例如使用 sort)。

3. sort -rn

  • sort:用于对文本行进行排序。

  • -r:按降序排序。

  • -n:按数值大小排序。

作用
将 uniq -c 的输出按出现次数从高到低排序。

4. head -20

  • head:输出文件的前几行。

  • -20:输出前 20 行。

作用
从排序后的结果中提取出现次数最多的前 20 个字段及其次数。

cat 和 cut 的区别

cat 和 cut 是 Linux 系统中常用的文本处理命令,但它们的功能和用途有所不同。

cat

cat(concatenate)用于连接文件并打印到标准输出。它通常用于查看文件内容、合并文件和创建文件。

cut

cut 用于从文件的每一行中提取指定的部分。它通常用于处理列格式数据,比如从 CSV 文件中提取某些列。

两者区别:

  • 用途不同:

    • cat 主要用于连接和显示文件内容。

    • cut 主要用于从文件中提取特定的列或字段。

  • 功能不同:

    • cat 可以将多个文件内容合并输出到一个文件或标准输出。

    • cut 可以根据指定的字符位置、字节位置或分隔符提取部分内容。

  • 常见用法不同:

    • cat 常用于快速查看文件内容或合并文件。

    • cut 常用于处理表格数据、日志文件等,需要提取特定列的数据。

 

可以看到192.168.200.2是访问最多的

那么第一题的答案就是

flag{192.168.200.2}

第二题

浏览器指纹是一种用于识别和跟踪用户浏览器的方法。它通过收集浏览器和设备的各种信息来创建一个独特的标识符,即“指纹”。这个指纹可以用于识别用户,即使他们没有登录或使用 cookies。以下是关于浏览器指纹的详细说明:

浏览器指纹的组成

浏览器指纹通常由以下信息组成:

  1. 用户代理字符串(User Agent String)

    • 包含浏览器类型、版本、操作系统等信息。

  2. 屏幕分辨率和颜色深度

    • 屏幕的宽度、高度和颜色设置。

  3. 时区和语言设置

    • 用户所在的时区和浏览器的语言偏好。

  4. 安装的插件和扩展

    • 浏览器中安装的插件和扩展列表。

  5. 字体列表

    • 系统中安装的字体列表。

  6. Canvas 指纹

    • 通过 HTML5 Canvas 元素生成的图像数据,因硬件和软件的不同而有所差异。

  7. WebGL 指纹

    • 通过 WebGL 渲染的图形数据,反映 GPU 和驱动程序的差异。

  8. 音频上下文指纹

    • 通过 Web Audio API 生成的音频处理数据。

  9. HTTP 请求头信息

    • 包括 Accept、Accept-Language、Accept-Encoding 等头信息。

  10. 硬件信息

    • 如 CPU 核心数、内存大小等。

我们通过第一题已经知道了黑客的IP,我们直接筛选出来 

cat access.log.1 | grep 192.168.200.2 | more

我们复制出来进行MD5加密

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/53
7.36

我们就得到了第二题的答案

flag{2D6330F380F44AC20F3A02EED0958F66}

第三题

我们直接写命令进行筛选就好了

cat access.log.1 | grep '/index.php' | wc -l

index为什么要加/这样表示当前目录下的index.php,因为万一别的地方也有呢?

wc -l :用于统计次数

 第三题的答案就出来了

flag{27}

第四题

 

cat access.log.1 | grep '192.168.200.2 - - '  | wc -l

为什么要加上 -- 

这是区别,所以第四题的答案也出来了

flag{6555}

第五题

直接用命令

cat access.log.1 | grep "03/Aug/2023:08:" | awk '{print $1}' | sort | uniq -c | wc -l
  • cat access.log.1:读取日志文件。

  • grep "03/Aug/2023:08:":过滤出 2023 年 8 月 3 日 8 点的日志行。

  • awk '{print $1}':提取每行的第一个字段(IP 地址)。

  • sort:对 IP 地址进行排序。

  • uniq -c:统计每个 IP 地址的出现次数。

  • wc -l:统计不同 IP 地址的数量。

 得到答案

flag{5}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值