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

第二章日志分析-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}

http://www.xdnf.cn/news/6203.html

相关文章:

  • 秒删node_modules[无废话版]
  • 数据结构(八)——查找
  • 达梦数据库 【-6111: 字符串转换出错】问题处理
  • HVV蓝队实战面试题
  • 全新开发-iVX图形化编程VS完整IDE
  • 有关多线程
  • vue中,created和mounted两个钩子之间调用时差值受什么影响
  • Ubuntu摄像头打开失败
  • 16S18S_OTU分析(3)
  • 正则表达式(二)-高级应用_谨慎使用
  • Spark之搭建Yarn模式
  • 日本动漫风格人像街拍Lr调色预设,手机滤镜PS+Lightroom预设下载!
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】附录-D. 扩展插件列表(PostGIS/PostgREST等)
  • 搭建Caffeine+Redis多级缓存机制
  • ChatGPT 能“记住上文”的原因
  • nputop:昇腾 NPU 交互式监控工具
  • 基于 NanoDet 的工厂巡检机器人目标识别系统研究与实现​
  • Fluent Bit持久化配置:保障数据可靠传输的关键
  • MVCC:数据库并发控制的利器
  • 【计算机哲学故事1-5】版本更新:拒绝停滞,成长是最好的修复
  • 部署GraphRAG配置Neo4j实现知识图谱可视化【踩坑经历】
  • 【SSL证书系列】https双向认证中客户端认证的原理
  • 边缘计算网关工业物联网应用:空压机远程运维监控管理
  • 自动化 NuGet 包打包与上传:完整批处理脚本详解(含 SVN 支持)
  • MySQL基础原理
  • python之Pandas合并数据终极指南:pd.concat参数详解
  • IDEA 新建 SpringBoot 项目时,没有高版本 SpringBoot 可选
  • Android逆向学习(十) IDA逆向编辑Android so文件
  • 为什么要选择七彩喜数字康养平台?加盟后有何优势?
  • 计算机网络:手机和基站之间的通信原理是什么?