我有一个端口监视器,用于查询某些服务器端口以检查其状态。有时在同一台服务器上(不是全部或许多)端口21已关闭,但是80已启动。或者端口3001已关闭,443正在工作等。
怎么可能这样呢?为什么端口有时会显示它们在假设启动时会关闭?这是一个问题吗?我有几个不同的服务器:ubuntu,2003,centos,2008 r2,但它发生在所有服务器上(以随机间隔)。
这是我的端口监视器代码:
function ping($host,$port,$timeout)
{
$tB=microtime(true);
$fP=fSockOpen($host,$port,$errno,$errstr,$timeout);
if(!$fP)
{return "DOWN";}
$tA=microtime(true);
return "UP";
}