所以有很多方法可以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请求-但你可以从中收集相当多的数据。