apache日志分析

首先需要了解apache的日志存储在哪个位置
/var/log/apache2
/var/log/httpd/apeche2
查看apache.log或者apache.log.1

查看哪个ip访问次数最多
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 常用于处理表格数据、日志文件等,需要提取特定列的数

查看黑客浏览器的指纹
cat access.log.1 | grep 192.168.200.2 | more
查看访问index.php被访问的次数
cat access.log.1 |grep '/index.php' | wc -l
查看某个ip的访问次数
cat access.log.1 | grep '192.168.200.2 - - ' | wc -l
查看2023年8月3号8点这个小时有多少ip访问以及次数
cat access.log.1 | grep "03/Aug/2023:08:" | awk '{print $1}' | sort | uniq -c | wc -l

posted @ 2025-08-29 17:55  JuneCy  阅读(6)  评论(0)    收藏  举报