Linux查看是否有受到DDoS攻击及缓解方法(netstat、iptables )

查看DDoS攻击

1. 只显示连接到80段口的活跃的网络连接,80是http端口,这对于web服务器非常有用,并且对结果排序.对于你从许多的连接中找出单个发动洪水攻击IP非常有用

netstat -an | grep :80 | sort

2. 这个命令对于在服务器上找出活跃的SYNC_REC非常有用,数量应该很低,最好少于5.

在dos攻击和邮件炸弹,这个数字可能非常高.然而值通常依赖于系统,所以高的值可能平分给另外的服务器.

netstat -n -p|grep SYN_REC | wc -l

3. 列出所有包含的IP地址而不仅仅是计数.

netstat -n -p | grep SYN_REC | sort -u

4. 列出所有不同的IP地址节点发送SYN_REC的连接状态

netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'

5. 使用netstat命令来计算每个IP地址对服务器的连接数量

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

6. 列出使用tcp和udp连接到服务器的数目

netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

7. 检查ESTABLISHED连接而不是所有连接,这可以每个ip的连接数

netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

8. 显示并且列出连接到80端口IP地址和连接数.80被用来作为HTTP

netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1

缓解DDoS攻击

当你发现攻击你服务器的IP你可以使用下面的命令来关闭他们的连接:

iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT

请注意,你必须用你使用netstat命令找到的IP数替换$IPADRESS

在完成以上的命令,使用下面的命令杀掉所有httpd连接,清除你的系统.

killall -KILL httpd

然后重启httpd服务。

service httpd start           #RedHat 系统 
/etc/init/d/apache2 restart   #Debian 系统

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/126102100