通过网站日志做网络爬虫和恶意访问分析

本文介绍了一种通过分析网站日志文件来识别并处理爬虫及恶意访问的方法。通过一系列命令行操作,作者展示了如何查找异常访问模式,并对可疑IP采取措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.sunnyu.com/?p=4

 

今天公司网站系统发生短暂的访问中断,虽然临时性的通过重启网站服务达到正常运作的目的,但是后续的分析工作还是要做的。

首先使用命令

  1. cat www.access.log | grep spider -c

  1. cat www.access.log | wc

分别查看有爬虫标志的访问次数和合计的总页面访问次数,发现还有爬虫标志的访问次数超过总访问次数的 10%, 访问显得有些不正常。

使用

  1. cat www.access.log | grep spider | awk '{print $1}' | sort -n | uniq -c | sort -nr

命令查看爬虫来ip地址来源,发现主要来至于 124.115.4.*和124.115.0.* 这两个地址段。

在防火墙上对其地址做限制。

/etc/sysconfig/iptables 中添加规则

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -s 124.115.0.1/24 -j REJECT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -s 124.115.4.1/24 -j REJECT

service iptables restart 使限制生效

一些已知的爬虫可以在 http://www.wangzhongyuan.com/archives/367.html 看到。可以针对自己的情况做一下分析处理,有选择性的让一些爬虫来访问。当然这个地址列出的都是一些比较有名的爬虫,如Googlebot, Baiduspider,Sogo,Yahoo等都是比较上规矩的,对他们可以通过robots.txt进行爬虫访问规则的设置,而那些较稀奇的比如这里 列出的 Sosospider等就没有被列出,所以更多的小爬虫和恶意的访问还是要自己来具体分析处理的。

从网站日志文件中找出爬虫和恶意访问

一般可以对网站访问日志做分析,通过分析单位时间里面某个ip访问服务器的次数等信息来找出爬虫的来源地址和恶意访问的来源地址,比如通过

  1. cat www.access.log | awk '{print $1 " " substr($4,14,5)}' | sort -n | uniq -c | sort -nr | head -20

这么一个命令就可以列出在一分钟内访问网站次数最多的前20位ip地址。

而通过

  1. cat www.access.log | grep 60.190 .128 .6 | awk '{print $1 " " substr($4,14,5)}' | sort -n | uniq -c | sort -nr | head -20

这个命令则可以查看一天中某个ip地址对网站服务器的访问时间分段情况。

对这些命令中表现出的数量比较突出的一些ip地址,一般来说就是有问题的ip了,在配合

  1. cat www.access.log | grep ip地址

可以看看这些高强度的地址访问都在干些什么。是不是正常访问,如果不是就要考虑是否要做限制了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值