当前位置: 首页 > news >正文

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

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.1cut:用于从文本中提取特定字段。-d-:指定字段分隔符为 -。-f 1:提取第一个字段。access.log.1:要处理的日志文件
2. uniq -cuniq:用于过滤或统计连续重复的行。-c:在每行前加上该行重复出现的次数。
作用:
统计提取的字段中连续重复的行及其出现次数。
注意:
uniq 只能处理连续重复的行,因此在使用 uniq -c 之前,通常需要先对数据进行排序(例如使用 sort)。
3. sort -rnsort:用于对文本行进行排序。-r:按降序排序。-n:按数值大小排序。
作用:
将 uniq -c 的输出按出现次数从高到低排序。
4. head -20head:输出文件的前几行。-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}

相关文章:

  • 第5章 运算符、表达式和语句
  • “堆”和“栈”
  • KUKA机器人中断编程3—暂停功能的编程
  • 【C++ / STL】封装红黑树实现map和set
  • 龙虎榜——20250514
  • Spring中的循环引用
  • 0514得物、0509滴滴面试总结复盘
  • 团结引擎 1.5.0 发布,抖音小游戏平台即将开放、Shader Graph功能新增…引擎能力再提升!
  • sql sql复习
  • 如何下载 Microsoft SQL Server Management Studio 2019
  • VCS758电流传感器芯片:国产化替代与高精度电流检测解决方案
  • 开发指南112-样式的优先级别
  • Python爬虫实战:研究拦截器,实现逆向解密
  • Java死锁排查:线上救火实战指南
  • 《P4391 [BalticOI 2009] Radio Transmission 无线传输 题解》
  • 数据清洗ETL
  • 性能比拼: Linkerd vs. Istio
  • 《Light》北京大学联合团队突破量子计算微型化革命:0.1毫米超表面集成多逻辑门,效率提升95%
  • 自动化 NuGet 包打包与上传:完整批处理脚本详解(含 SVN 支持)
  • Milvus 视角看重排序模型(Rerankers)
  • 六连板成飞集成:航空零部件业务收入占比为1.74%,市场环境没有重大调整
  • 以军向也门3个港口的居民发布撤离令
  • “典孝急乐批麻蚌赢”:互联网“八字真言”与当代赛博赢学
  • 西北大学副校长成陕西首富?旗下巨子生物去年净利超20亿,到底持股多少
  • 法治课|争议中的“行人安全距离”于法无据,考量“注意义务”才更合理
  • 93岁南开退休教授陈生玺逝世,代表作《明清易代史独见》多次再版