php - fsockopen 仅用于检查端口 80 和 8000(没有其他端口)
问题描述
我正在尝试使用 fsockopen 作为端口检查器来查看特定端口是否在 IP 地址上打开,但它似乎只在端口 80 和 8000 上工作。对于任何其他端口,它甚至返回端口已关闭当它打开时。我想知道我怎么可能解决这个问题?
$server_ip= $_POST['server'];
$port = $_POST['port'];
$server_ip = gethostbyname($server_ip);
$status = array();
if (empty($_POST["server"]) || empty($_POST['port']) || !filter_var($server_ip, FILTER_VALIDATE_IP) )
{
echo "some html code";
}
elseif (!(is_numeric($port)))
{
echo "some other html code";
}
else
{
if($pf = @fsockopen($_POST['server'], $port, $err, $err_string, 1)) {
$status = true;
fclose($pf);
} else {
$status = false;
}
Output code here..
}
解决方案
推荐阅读
- node.js - 云函数触发通知:TypeError: 'exists'
- python - Python:在两个值之间生成n个随机整数,总和为给定数字
- java - 使用 retrofit2 发送此 formjson
- r - 如何在 ggplot2 中生成的瀑布图中包含类似“think-cell”的百分比变化
- junit - JUnit 我应该使用什么断言
- java - 将频谱乘以常数后声音失真
- javascript - 将大 txt 文件转换为任何结构化格式
- android - 无法使用蓝牙 LE 读取特征,readCharacteristic 在 Android 上返回 false
- php - wordpress 如何制作动作/过滤器挂钩?(在其功能中附加您的功能)
- sql - Private Sub BtnUpdate_Click(sender As System.Object, e As System.EventArgs) 处理 BtnUpdate.Click