使用PHP的Telnet客户端

时间:2012-04-12 07:41:46

标签: php windows-7 xampp telnetlib

这是我的代码:

$socketConnection = @fsockopen ( "127.0.0.1", "23", $errorNumber, $errorString, 30 );
if ( ! $socketConnection )
{
    print '<b>Connection Failed</b><br />' . $errorString . '<br />' . $errorNumber;
}
else
{
    //stream_set_blocking ( $socketConnection, 0 );
    //stream_set_timeout ( $socketConnection, 10 );
    print '<b>Connection Success!</b><br />';
    fputs($socketConnection,'\r');
    sleep(1);
    $buffer = fread ( $socketConnection, 20 );
    $out='';
    for ( $i=0; $i < 20; $i++ )
    {
        $out .= $buffer [ $i ] ;
    }
        $response = trim ( preg_replace( "/^.*?\n(.*)\n[^\n]*$/", "$1", $out ) );
        echo $response;
        //$response = bin2hex($response);
        //hex2ascii('ff:fd:25:ff:fb:01:ff:fb:03:ff:fd:27:ff:fd:1f:ff:fd:00:ff:fb');
    fclose ( $socketConnection );
}

现在,当我执行代码时,我得到输出:

  

YY%ÿûÿûÿý'ÿýÿý

,没有别的。可能是什么问题?我怎样才能解决这个问题。我在win7上使用xampp 2.5版

此外,我在我的系统上安装了win7 telnet服务器,我可以通过telnet命令远程登录。

我用putty来telnet,这是我得到的: putty login screenshot

1 个答案:

答案 0 :(得分:0)

这是telnet客户端“自动协商”的一部分......

如果将字符转换为HEX,然后引用:

,将会有所帮助

The TELNET Protocol -- KB 231866

哦,即使你说微软,:

www.eventhelix.com - EventStudio - TCP/IP Protocol Sequence Diagram Examples

具体来说,这些可以帮助您想象:

  

高级Telnet客户端和服务器协议序列图

     

Telnet协议上下文关系图 - EventHelix.com/EventStudio 2.0

您可以在eventhelix.com页面找到。

注意:抱歉最后两个没有链接......,我的代表在这里仍然太低了...... ; - )