带端口号的Net_Ping.如何去做


Net_Ping with port number. How?

所以有很多方法可以ping一个地址,但我在PHP中的net ping库中运气不错。唯一的问题是,我一辈子都不知道如何ping主机上的端口号。我知道这肯定是很傻的事。

我尝试了host:port,但没有成功。我真的很想坚持使用Net Ping,因为输出非常有用。

这是我的示例代码。

<?php
    require_once "Net/Ping.php";
    $ping = Net_Ping::factory();

    if(PEAR::isError($ping))
      echo $ping->getMessage();
    else
    {
      /* Number of packets to send */
      $ping->setArgs(array('count' => 4));
      $rawData = $ping->ping('example.com');
      print_r($rawData);
    }
?>

ping命令不基于端口,是ICMP命令。端口的概念对ICMP没有意义。如果您要执行基于端口的ping,则需要在该端口的连接另一端的某些东西来响应您—例如返回"OK"的server_status.php页面。在这种情况下,你会做一个HTTP "ping",不是一个真正的ping,只是一个web请求-但你可以从中收集相当多的数据。