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

浙公网安备 33010602011771号