好日子,我试着找到一个php代码,在这里我可以获得服务器服务器上的所有端口,原因是我使用共享服务器,共享服务器不允许我执行任何cmd命令,而且在google上它是多么有趣和可悲--我没有找到任何php代码来执行这个命令,除了这个。
$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的套接字连接,但是无论我尝试打开哪个端口,它都说端口在使用中,并且根据这个代码,我没有获得所有端口,只有这个端口。
array(21, 25, 80, 81, 110, 443, 3306);
因此,我的问题是,是否有任何php代码,它将返回服务器上所有具有状态的端口,它们是在使用中还是no.Thank您。
发布于 2015-10-21 12:18:15
您想遍历所有65.6k端口吗?
$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++;
}
https://stackoverflow.com/questions/33268367
复制相似问题