探针玩死服务器

探针,可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,还能进行服务器性能测试。深受各种站长的喜爱,但是我本人一直都不建议站长们使用探针,无论是在自己的服务器上还是在免费空间的演示空间上

也许很多站长,喜欢在自己的网站上放个探针,有事无事观察观察自己的环境,亦或者公开给大家观赏。

不过,今天我要告诉大家,这是极度危险的一件事情,那个小小的探针可能就成为KO你服务器的凶手(我不是指探针透露的环境信息)!

就以雅黑探针为例吧。玩了那么多年探针,我们应该知道,探针最耗资源的一项就是浮点运算能力检测了,这需要占用大量的CPU去进行运算,点一次,可能占用的资源不太多,但是,如果你连续点击多次的话……

86744519

如果连续点了“浮点测试”多次后的,CPU是I3 2120(上图),可以看出,CPU占用已经到达了100%,而且这时网站也无法正常访问了。直到浮点运算结果出来后,才能正常加载。

这只是人手点击而已,如果用按键精灵的话,恐怕情况更糟糕!

我们再来做一个测试,首先保存以下代码为PHP文件:

<?php 
function test_float() {
    $t = pi();
    $timeStart = gettimeofday();
    for($i = 0; $i<3000000; $i++) {
        sqrt($t);
    }
    $timeEnd = gettimeofday();
    $time = ($timeEnd["usec"]-$timeStart["usec"])/1000000+$timeEnd["sec"]-$timeStart["sec"];
    $time = round($time, 3)."秒";
    return $time;
}
if ($_GET['act'] == "float") {
    $valFloat = test_float();
    echo($valFloat);
    exit();
} else {
    echo("Hello world");
}
?>

我保存为float.php,那么我访问http://域名/float.php?act=float就会进行float运算。
接下来,我使用某个工具,对float.php?act=float进行连续30秒,每秒钟3000次的GET请求,看看效果如何!
在进行GET请求后,系统平均负载立刻上升,到30/446后,完全定格住了,也就说已经无法正常对网站进行POST或者GET东西了。按F5刷新,网站长久未响应。而且此时,我的系统已经有明显的卡顿感。
连续的GET请求过去了一段时间,但是CPU占用还是保持100%不变,而且网站也仍然未响应,可以看出,CPU还有一大堆的浮点运算还没结束!由于我使用了varnish做前端,因此使用free -m看使用的内存,只有几百MB。
经过上面的测试,我们可以发现,这是一个效果非常明显的攻击,攻击者不需要太多肉鸡,也不需要大带宽,即可干死一台大内存的服务器!而且目前很多网站都是直接跑Apache的,那东西非常耗内存,加上高的CPU占用率,死的更快……
因此,各位站长们,为了你们的服务器的稳定,赶快把探针给撤掉吧……

转载自:http://yzs.me/1676.html

8 thoughts on “探针玩死服务器

    1. 博主以后就不要再放探针了哟,放个挂机网赚多好呀.我想要个VPS还没有哩,博主千万不要浪费了

发表评论

电子邮件地址不会被公开。 必填项已用*标注