在 Rocky Linux 9.8 上安装flog,假日志生成器。
🎯 mingrammer/flog(假日志生成器)
这是最流行的flog工具,这是一个 Go 语言开发的测试日志生成器,专门用于生成 Apache、Nginx 等常见 Web 服务器的测试日志。
在 Rocky Linux 9.8 上的安装方法:
一、方法:使用 Go 安装(推荐)
由于 Rocky Linux 官方仓库没有flog包,这是最可靠的方式:
# 先安装 Go 语言环境sudodnfinstall-ygolang# 更换 Go 模块代理为国内镜像# 设置 GOPROXY 为七牛云代理(国内推荐)goenv-wGOPROXY=https://goproxy.cn,direct# 同时设置私有模块(可选)goenv-wGOPRIVATE=*.corp.example.com# 关闭包的校验和验证(国内环境可选)goenv-wGOSUMDB=off# 或者如果你用的是 Go 1.16+ 版本goinstallgithub.com/mingrammer/flog@latest安装成功后,flog二进制文件会保存在~/go/bin/flog目录下。
🔧 将 flog 加入系统 PATH
为了方便在任何目录下使用,将它添加到 PATH:
# 临时生效(仅当前终端)exportPATH=$PATH:~/go/bin# 永久生效(推荐)echo'export PATH=$PATH:~/go/bin'>>~/.bashrcsource~/.bashrc✅ 验证安装
# 检查版本flog--version# 测试生成日志flog-n10# 查看帮助flog--help二、使用方法(重点)
flog的使用非常简单,核心是通过参数来控制日志的格式、数量和输出方式。
1. 基础命令
| 目标 | 命令示例 | 说明 |
|---|---|---|
| 生成默认日志 | flog | 默认生成 1000 行 Apache Common 格式日志并打印在屏幕上。 |
| 输出到文件 | flog -t log -o /var/log/httpd/access_log | 将日志写入指定文件(-t log表示输出到文件)。 |
| 指定行数 | flog -n 5000 | 生成 5000 行日志。 |
| 指定格式 | flog -f apache_combined | 生成 Apache Combined 格式日志(考试最常用)。 |
| 生成 JSON 格式 | flog -f json | 便于结构化数据处理。 |
2. 高级选项(用于模拟复杂场景)
| 参数 | 作用 | 示例(模拟攻击场景) |
|---|---|---|
-s | 设置日志中时间戳的间隔(不实际等待)。 | flog -s 1s -n 100生成 100 条日志,每条日志记录的时间戳相差 1 秒。 |
-d | 实际延迟生成速度,模拟实时流量。 | flog -d 100ms -n 50每 0.1 秒生成一条日志(用于模拟慢速扫描器)。 |
-l | 无限循环生成,直到你按Ctrl+C停止。 | flog -l -d 5s每 5 秒生成一条日志,永不停止(模拟持续性攻击)。 |
-p | 日志分割,按行数或大小切分文件。 | flog -n 5000 -p 1000每 1000 行分割成一个新文件。 |
-t gz | 压缩输出,直接生成.gz文件。 | flog -n 10000 -t gz -o logs.gz |
三、针对考试的实战技巧
结合需要搭建考试环境的需求,可以利用flog快速生成海量背景流量,然后混入攻击特征。
核心思路:
- 生成背景流量:先用
flog生成大量正常日志。 - 注入攻击日志:再用 Python 脚本或
echo命令,将包含 SQL 注入、目录遍历特征的恶意请求追加到日志文件中。
示例工作流 (Linux):
# 1. 生成 10000 条正常的 Apache Combined 格式日志作为背景flog-fapache_combined-n10000-tlog-o/tmp/normal.log# 2. 手动准备几条攻击日志(模拟考生需要分析的内容)echo'203.0.113.45 - - [10/Jun/2026:08:35:23 +0000] "GET /product?id=1'\'' OR '\''1'\''='\''1 HTTP/1.1" 200 1234 "-" "Mozilla/5.0"'>>/tmp/attack.logecho'198.51.100.22 - - [10/Jun/2026:08:35:25 +0000] "GET /../../../../etc/passwd HTTP/1.1" 404 345 "-" "Mozilla/5.0"'>>/tmp/attack.log# 3. 合并文件,生成最终的考试日志cat/tmp/normal.log /tmp/attack.log>/var/log/httpd/access_log# 可选:打乱顺序以增加难度(使用 shuf 命令)shuf/var/log/httpd/access_log-o/var/log/httpd/access_log通过这个流程,你就能得到一个大小适中、既有正常流量又有隐蔽攻击的真实考试日志文件了。