我有一个端口监视器,它查询一些服务器端口以检查它们的状态'。有时在同一台服务器上(不是全部或许多)端口 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";
}