原文地址:http://www.phpthinking.com/archives/427
登录到你的服务器以root用户执行下面的命令,使用它你可以检查你的服务器是在DDOS攻击与否:
netstat -anp |grep ‘tcp\|udp‘ | awk ‘{print $5}‘ |
cut -d: -f1 | sort | uniq -c | sort –n
该命令将显示已登录的是连接到服务器的最大数量的IP的列表。
DDOS变得更为复杂,因为攻击者在使用更少的连接,更多数量IP的攻击服务器的情况下,你得到的连接数量较少,即使你的服务器被攻击了。有一点很重要,你应该检查当前你的服务器活跃的连接信息,执行以下命令:
netstat
-n | grep :80 |wc –l
上面的命令将显示所有打开你的服务器的活跃连接。
您也可以使用如下命令:
netstat -n | grep :80 | grep SYN |wc –l
从第一个命令有效连接的结果会有所不同,但如果它显示连接超过500,那么将肯定有问题。
如果第二个命令的结果是100或以上,那么服务器可能被同步攻击。
一旦你获得了攻击你的服务器的IP列表,你可以很容易地阻止它。
同构下面的命令来阻止IP或任何其他特定的IP:
route add ipaddress reject
一旦你在服务器上组织了一个特定IP的访问,你可以检查对它的阻止豆腐有效
通过使用下面的命令:
route -n |grep IPaddress
您还可以通过使用下面的命令,用iptables封锁指定的IP。
iptables -A INPUT 1 -s IPADRESS -j DROP/REJECT
service iptables restart
service iptables save
上面的命令执行后,停止httpd连接,重启httpd服务
使用下面的命令:
killall -KILL httpd
service httpd startssl