无法在正在侦听的端口上telnet Web服务器

问题描述 投票:0回答:1

我正在我的网站上实现套接字并将套接字绑定到网站的IP地址但是当我在该端口上telnet网站时,它没有连接。正在创建套接字并且网站正在侦听传入连接,没有错误但是在尝试telnet网站时显示错误。如果我改变代码来监听127.0.0.1,它没有任何问题。

该网站正在收听6662端口,这是一个非官方的IRC端口。什么没发生?

我执行以下操作来远程登录网站。

telnet www.nameofwebsite.com 6662
telnet ipofwebsite 6662

它尝试连接然后失败,并显示错误:无法打开与主机的连接,在端口6662上:连接失败

结束脚本是一个小而简单的。

<?php

    set_time_limit(0);
    error_reporting(E_NOTICE);

    $address = "ipofwebsite";    // if i change this to 127.0.0.1 and telnet localhost 6662, it works.
    $port = 6662;

    # root socket
    $root = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

    # reuse socket
    if( socket_set_option($root, SOL_SOCKET, SO_REUSEADDR, 1) == false )
    {
        echo socket_strerror(socket_last_error());
    }

    # bind socket
    if( socket_bind($root, $address, $port) === false )
    {
        echo socket_strerror(socket_last_error());
    }

    # listen on the socket
    if( socket_listen($root) === false )
    {
        echo socket_strerror(socket_last_error());
    }

    # accept a connection
    if( ( $client = socket_accept($root) ) === false )
    {
        echo socket_strerror(socket_last_error());
    }
    echo "Connection accepted<br />";

    socket_close($root);

?>

它一直在监听,但不接受任何telnet连接。

php sockets telnet
1个回答
0
投票

如果您的服务器是Windows服务器,请尝试:https://www.tomshardware.com/news/how-to-open-firewall-ports-in-windows-10,36451.html.

如果您的系统是Linux,请尝试运行命令,如下所示:

iptables -I INPUT -p tcp -m tcp --dport your_port_number -j ACCEPT
service iptables save

或者如果它是CentOS 7,可以运行如下命令

firewall-cmd --zone=public --add-port=your_port_number /tcp --permanent
firewall-cmd --reload
© www.soinside.com 2019 - 2024. All rights reserved.