php教程 php手册 一个探针足矣毁掉一台服务器

一个探针足矣毁掉一台服务器

Jun 06, 2016 pm 08:08 PM
할 수 있다 실시간 조사 섬기는 사람 확인하다

探针,可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,还能进行服务器性能测试。深受各种站长的喜爱,我也不例外…… 也许很多站长也和我一样,喜欢在自己的网站上放个探针,有事无事观察观察自己的环境,亦或者公开给大家观

探针,可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,还能进行服务器性能测试。深受各种站长的喜爱,我也不例外……

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

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

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

浮点测试

上图是我连续点了“浮点测试”多次后的结果,我的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 Test

在进行GET请求后,系统平均负载立刻上升,到30/446后,完全定格住了,也就说已经无法正常对网站进行POST或者GET东西了。按F5刷新,网站长久未响应。而且此时,我的系统已经有明显的卡顿感。

连续的GET请求过去了一段时间,但是CPU占用还是保持100%不变,而且网站也仍然未响应,可以看出,CPU还有一大堆的浮点运算还没结束!由于我使用了varnish做前端,因此使用free -m看使用的内存,只有几百MB。

经过上面的测试,我们可以发现,这是一个效果非常明显的攻击,攻击者不需要太多肉鸡,也不需要大带宽,即可干死一台大内存的服务器!而且目前很多网站都是直接跑Apache的,那东西非常耗内存,加上高的CPU占用率,死的更快……

因此,各位站长们,为了你们的服务器的稳定,赶快把探针给撤掉吧……

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Douyin에 로그인된 장치를 삭제하는 단계를 확인하세요. Douyin에 로그인된 장치를 삭제하는 단계를 확인하세요. Mar 26, 2024 am 09:01 AM

Douyin에 로그인된 장치를 삭제하는 단계를 확인하세요.

Dnsmasq를 DHCP 릴레이 서버로 구성하는 방법 Dnsmasq를 DHCP 릴레이 서버로 구성하는 방법 Mar 21, 2024 am 08:50 AM

Dnsmasq를 DHCP 릴레이 서버로 구성하는 방법

Xianyu에서 자신의 ID를 확인하는 방법_Xianyu에서 개인 닉네임을 확인하는 방법 소개 Xianyu에서 자신의 ID를 확인하는 방법_Xianyu에서 개인 닉네임을 확인하는 방법 소개 Mar 22, 2024 am 08:21 AM

Xianyu에서 자신의 ID를 확인하는 방법_Xianyu에서 개인 닉네임을 확인하는 방법 소개

NetEase Cloud Music에서 음악 순위를 확인하는 방법_NetEase Cloud Music에서 음악 순위를 확인하는 방법 NetEase Cloud Music에서 음악 순위를 확인하는 방법_NetEase Cloud Music에서 음악 순위를 확인하는 방법 Mar 25, 2024 am 11:40 AM

NetEase Cloud Music에서 음악 순위를 확인하는 방법_NetEase Cloud Music에서 음악 순위를 확인하는 방법

서버에 PHP FFmpeg 확장을 설치하는 방법은 무엇입니까? 서버에 PHP FFmpeg 확장을 설치하는 방법은 무엇입니까? Mar 28, 2024 pm 02:39 PM

서버에 PHP FFmpeg 확장을 설치하는 방법은 무엇입니까?

WeChat에 가입한 그룹 수를 확인하는 방법: 간단한 단계 WeChat에 가입한 그룹 수를 확인하는 방법: 간단한 단계 Mar 26, 2024 am 10:06 AM

WeChat에 가입한 그룹 수를 확인하는 방법: 간단한 단계

Kuaishou Live Companion 비디오의 인기 목록을 보는 방법 Kuaishou Live Companion 비디오의 인기 목록을 보는 방법 Mar 29, 2024 pm 08:09 PM

Kuaishou Live Companion 비디오의 인기 목록을 보는 방법

Amap 도움말 센터 보는 방법_Amap 도움말 센터 보는 방법 Amap 도움말 센터 보는 방법_Amap 도움말 센터 보는 방법 Apr 01, 2024 pm 05:26 PM

Amap 도움말 센터 보는 방법_Amap 도움말 센터 보는 방법

See all articles