WindowsWebLog 日志分析小实例
题目
分析曾经访问过 xiapu_1_05.jpg 的所有IP地址
分析
附加是 IIS 服务器日志的集合,来源都是 IP 为 218.75.147.11 的主机
想要找到访问过 xiapu_1_05.jpg 的 IP 地址只需要搜索对应的字符串即可
使用 Linux 系统的 bash 脚本以及 awk、uniq 等命令可以快速过滤出目标
大致思路是:依次遍历所有的 log 文件,首先用 grep 过滤出含有图片名字符串的行,再用 awk 命令提出去来源 IP,并依次写入到一个新的文件中。
最后对该文件进行排序 sort 后去重 uniq ,得到不同的 IP 列表
操作流程
(1)将所有日志文件拷贝到 Linux 系统下
(2)编写如下 bash 脚本并执行
#!/bin/bash
fun(){
touch ans
for file in `ls $1`
do
if [[ $file == *'.log' ]]; then # 用到正则表达式必须 [[]],带 log 的为日志文件
grep xiapu_1_05.jpg $file | awk -F " " '{print $9}' >> ans # 先过滤后提取最后写入到文件
fi
done
sort ans | uniq > iplist
}
path="."
fun $path
共有 5398 个不同的 IP