首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过PHP代码获取服务器上的所有端口

通过PHP代码获取服务器上的所有端口
EN

Stack Overflow用户
提问于 2015-10-21 12:11:49
回答 1查看 1.3K关注 0票数 0

好日子,我试着找到一个php代码,在这里我可以获得服务器服务器上的所有端口,原因是我使用共享服务器,共享服务器不允许我执行任何cmd命令,而且在google上它是多么有趣和可悲--我没有找到任何php代码来执行这个命令,除了这个。

代码语言:javascript
运行
AI代码解释
复制
$host = 'stackoverflow.com';
$ports = array(21, 25, 80, 81, 110, 443, 3306);

foreach ($ports as $port)
{
    $connection = @fsockopen($host, $port);

    if (is_resource($connection))
    {
        echo '<h2>' . $host . ':' . $port . ' ' . '(' . getservbyport($port, 'tcp') . ') is open.</h2>' . "\n";

        fclose($connection);
    }

    else
    {
        echo '<h2>' . $host . ':' . $port . ' is not responding.</h2>' . "\n";
    }
}

问题是,我想打开一个套接字并接受来自android的套接字连接,但是无论我尝试打开哪个端口,它都说端口在使用中,并且根据这个代码,我没有获得所有端口,只有这个端口。

代码语言:javascript
运行
AI代码解释
复制
array(21, 25, 80, 81, 110, 443, 3306);

因此,我的问题是,是否有任何php代码,它将返回服务器上所有具有状态的端口,它们是在使用中还是no.Thank您。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-21 12:18:15

您想遍历所有65.6k端口吗?

代码语言:javascript
运行
AI代码解释
复制
$host = "somedomain.com";
$port = 1;
while ($port <= 65535){
    // Check current port # here
    // Have fun waiting for the loop to complete.

   $connection = @fsockopen($host, $port);

    if (is_resource($connection))
    {
        echo '<h2>' . $host . ':' . $port . ' ' . '(' . getservbyport($port, 'tcp') . ') is open.</h2>' . "\n";

        fclose($connection);
    }

    else
    {
        echo '<h2>' . $host . ':' . $port . ' is not responding.</h2>' . "\n";
    }

    $port++;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33268367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档