你可以使用 PHP 的 fsockopen
函数来扫描开放的端口。该函数使用主机名和端口号连接到指定的服务器,如果能够连接,则返回一个可以用于通信的文件指针。你可以使用 for
循环遍历所有要扫描的端口号,并使用 fsockopen
函数来测试每个端口是否处于打开状态。
例如,下面是一个扫描主机名为 example.com
上的端口 80 和 443 的示例代码:
$host = 'example.com';
$ports = array(80, 443);
foreach ($ports as $port) {
$connection = @fsockopen($host, $port);
if (is_resource($connection)) {
echo "Port $port is open.\n";
fclose($connection);
} else {
echo "Port $port is closed.\n";
}
}
注意:在使用 fsockopen
函数时,你需要确保服务器上已启用了 sockets 扩展。