第二章日志分析-apache日志分析

发布于:2025-05-15 ⋅ 阅读:(19) ⋅ 点赞:(0)

Apache主要日志类型

访问日志(Access Log):

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

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

错误日志(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

1、提交当天访问次数最多的IP,即黑客IP

我们先到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就是flag{192.168.200.2}

2、黑客使用的浏览器指纹是什么,提交指纹的md5

浏览器指纹的组成

1. 基础信息
    用户代理字符串(User-Agent):包含浏览器类型、版本、操作系统及其版本等信息
操作系统信息:操作系统的类型和版本
屏幕分辨率和颜色深度:显示设备的屏幕分辨率和颜色处理能力
时区信息:设备设置的本地时区
语言设置:浏览器的默认语言环境
2. 插件和扩展
    浏览器插件列表:安装的插件及其版本信息
扩展信息:浏览器中启用的扩展
3. 字体信息
    字体列表:设备上安装的字体集合
4. 硬件信息
    CPU和内存:CPU核心数量和设备内存大小
GPU信息:通过WebGL或WebGPU获取的显卡型号和性能信息
5. Web API相关
    Canvas指纹:通过HTML5 Canvas API绘制图形生成的指纹
WebGL指纹:通过WebGL渲染图形获取的硬件特征
音频指纹:通过Web Audio API生成的基于音频处理硬件和软件特性的指纹
6. 网络信息
    IP地址:设备的IP地址,用于定位用户
网络连接类型:如是否使用代理、网络延迟等

7. 行为特征
    鼠标移动和点击模式:用户的交互行为数据
JavaScript执行行为:不同浏览器和设备上JavaScript执行的细微差异

8. 其他信息
    浏览器设置和特性:如Do Not Track设置、Cookie启用状态、JavaScript启用状态
设备内存和硬件并发:设备的内存大小和CPU核心数量

通过命令筛选

cat access.log.1 | grep 192.168.200.2 | more

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}

3、查看包含index.php页面被访问的次数,提交次数

直接命令筛选

wc -l 用来统计次数

flag{27}

4、查看黑客IP访问了多少次,提交次数

还是使用命令筛选

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

flag{6555}

5、查看2023年8月03日8时这一个小时内有多少IP访问,提交次数

使用命令

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}


网站公告

今日签到

点亮在社区的每一天
去签到