Friday, July 21, 2006

关于恶意网路抓取程序的判断

两天以来服务器都在超负载,特别是Apache和MySQL,应该是由于恶意的网路抓取程序引起,于是利用这个脚本初步判断了一下

#!/bin/sh
PORTS=$HOME/tmp/port.txt
REPORT=$HOME/tmp/report.txt
netstat -antu > $HOME/tmp/port.txt
for x in `grep "61.186.250.32" $PORTS | grep ESTABLISHED | grep -v "0.0.0.0" | awk '{print $5}' | grep -v 61.186.250.32 | sort | awk -F : '{print $1}' | sort | uniq`; do grep $x $PORTS | wc -l | tr -d '\n'; echo " : $x"; done | sort -rn > $REPORT ; head -20 $REPORT ; wc -l $REPORT


运行返回

211 : 222.182.70.xxx
58 : 61.143.90.106
23 : 202.160.178.67
16 : 61.51.227.174
9 : 60.1.234.85
9 : 221.203.144.53
4 : 202.108.22.78
2 : 221.204.212.221
2 : 202.160.180.83
2 : 202.160.179.116
1 : 66.249.72.8
1 : 61.128.128.68
1 : 220.205.141.24
1 : 211.95.217.216
14 /home/fred/tmp/report.txt


这样数据,找到了一直访问服务器的IP,当然是通过两天多次的抓取分析得到的结果,不过其实可以使用脚本自动抓取判断,使用diff, vimdiff加以判断,这样在处理较大数量和较大数据的情况上将会非常有用。

No comments:

Post a Comment