针对换IP和换UA的恶意爬虫的思路【特别是宽带动态拨号IP】
一、对网站日志定时扫描,抓取出IP和对应的UA二、命中某些特定黑名单UA,比如老旧浏览器不可能是正常用户的,直接拉黑IP一段时间。
三、出现两次或者三次同个IP换了不同UA,直接拉黑IP一段时间。
以上拉黑,要做到安全,可以再加一个IP白名单,把一些蜘蛛IP和常用IP,正常IP放进白名单,拉黑前过滤一下。
附linux下shell脚本样例供大家参考:#!/bin/bash
# 设置要检测的日志文件路径
LOG_FILE="/path/to/access.log"
# 设置阈值,超过该数量的UA变化就认为是异常
UA_THRESHOLD=5
# 输出异常IP的文件
OUTPUT_FILE="suspicious_ips.txt"
# 清空输出文件
> "$OUTPUT_FILE"
# 从日志中提取IP和UA并统计UA的种类
awk '{
# 假设IP在日志的第一列,User-Agent在日志的最后一列
ip=$1
ua=$NF
# 存储每个IP的UA种类
ip_ua++
}
END {
for (ip in ip_ua) {
# 计算每个IP的UA数量
ua_count = length(ip_ua)
# 如果UA种类超过阈值,记录该IP
if (ua_count > UA_THRESHOLD) {
print ip " has " ua_count " different User-Agents" >> "'$OUTPUT_FILE'"
}
}
}' "$LOG_FILE"
echo "Suspicious IPs written to $OUTPUT_FILE"
页:
[1]