php怎么实现telnet

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php怎么实现telnet?

php实现telnet功能示例

代码如下:

<?php
class PHPTelnet {
    var $show_connect_error=1;
    var $use_usleep=0;  // change to 1 for faster execution
        // don't change to 1 on Windows servers unless you have PHP 5
    var $sleeptime=125000;
    var $loginsleeptime=1000000;
    var $fp=NULL;
    var $loginprompt;
    var $conn1;
    var $conn2;
    
    function Connect($server,$user,$pass) {
        $rv=0;
        $vers=explode('.',PHP_VERSION);
        $needvers=array(4,3,0);
        $j=count($vers);
        $k=count($needvers);
        if ($k<$j) $j=$k;
        for ($i=0;$i<$j;$i++) {
            if (($vers[$i]+0)>$needvers[$i]) break;
            if (($vers[$i]+0)<$needvers[$i]) {
                $this->ConnectError(4);
                return 4;
            }
        }
        $this->Disconnect();
        if (strlen($server)) {
            if (preg_match('/[^0-9.]/',$server)) {
                $ip=gethostbyname($server);
                if ($ip==$server) {
                    $ip='';
                    $rv=2;
                }
            } else $ip=$server;
        } else $ip='127.0.0.1';
        if (strlen($ip)) {
            if ($this->fp=fsockopen($ip,23)) {
                fputs($this->fp,$this->conn1);
                $this->Sleep();
                fputs($this->fp,$this->conn2);
                $this->Sleep();
                $this->GetResponse($r);
                $r=explode("\n",$r);
                $this->loginprompt=$r[count($r)-1];
                fputs($this->fp,"$user\n");
                $this->Sleep();
                fputs($this->fp,"$pass\n");
                if ($this->use_usleep) usleep($this->loginsleeptime);
                else sleep(1);
                $this->GetResponse($r);
                $r=explode("\n",$r);
                if (($r[count($r)-1]=='')||($this->loginprompt==$r[count($r)-1])) {
                    $rv=3;
                    $this->Disconnect();
                }
            } else $rv=1;
        }
        if ($rv) $this->ConnectError($rv);
        return $rv;
    }
    function Disconnect($exit=1) {
        if ($this->fp) {
            if ($exit) $this->DoCommand('exit',$junk);
            fclose($this->fp);
            $this->fp=NULL;
        }
    }
    function DoCommand($c,&$r) {
        if ($this->fp) {
            fputs($this->fp,"$c\n");
            $this->Sleep();
            $this->GetResponse($r);
            $r=preg_replace("/^.*?\n(.*)\n[^\n]*$/","$1",$r);
        }
        return $this->fp?1:0;
    }
    function GetResponse(&$r) {
        $r='';
        do { 
            $r.=fread($this->fp, 1024);
            $s=Socket_get_status($this->fp);
        } while ($s['unread_bytes']);
    }
    function Sleep() {
        if ($this->use_usleep) usleep($this->sleeptime);
        else sleep(1);
    }
    function PHPTelnet() {
        $this->conn1=chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB).
            chr(0x20).chr(0xFF).chr(0xFB).chr(0x18).chr(0xFF).chr(0xFB).
            chr(0x27).chr(0xFF).chr(0xFD).chr(0x01).chr(0xFF).chr(0xFB).
            chr(0x03).chr(0xFF).chr(0xFD).chr(0x03).chr(0xFF).chr(0xFC).
            chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA).
            chr(0x1F).chr(0x00).chr(0x50).chr(0x00).chr(0x18).chr(0xFF).
            chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20).chr(0x00).chr(0x33).
            chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).
            chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).
            chr(0xFF).chr(0xFA).chr(0x27).chr(0x00).chr(0xFF).chr(0xF0).
            chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(0x58).chr(0x54).
            chr(0x45).chr(0x52).chr(0x4D).chr(0xFF).chr(0xF0);
        $this->conn2=chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC).
            chr(0x22).chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21);
    }
    function ConnectError($num) {
        if ($this->show_connect_error) switch ($num) {
        case 1: echo '<br />[PHP Telnet] <a href="https://www.jb51.net/php-telnet/errors/fsockopen.php">Connect failed: Unable to open network connection</a><br />'; break;
        case 2: echo '<br />[PHP Telnet] <a href="Https://www.jb51.net/php-telnet/errors/unknown-host.php">Connect failed: Unknown host</a><br />'; break;
        case 3: echo '<br />[PHP Telnet] <a href="https://www.jb51.net/php-telnet/errors/login.php">Connect failed: Login failed</a><br />'; break;
        case 4: echo '<br />[PHP Telnet] <a href="https://www.jb51.net/php-telnet/errors/php-version.php">Connect failed: Your server\'s PHP version is too low for PHP Telnet</a><br />'; break;
        }
    }
}
?>

推荐学习:《PHP视频教程

以上就是php怎么实现telnet的详细内容,更多请关注编程界其它相关文章!

--结束END--

本文标题: php怎么实现telnet

本文链接: https://www.lsjlt.com/news/363.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php怎么实现telnet

    php实现telnet的方法:1、创建一个PHP示例文件;2、通过“class PHPTelnet {function Connect($server,$user,$pass) {...}}”方式实现telnet功能即可。
    阅读数:240 php telnet
  • php怎么实现翻译

    php实现翻译的方法:1、创建一个PHP示例文件;2、通过有道翻译json格式来显示传值;3、利用PHP自带的函数,抓取URL返回的json数据;4、将json数据转换成对象类的形式即可。
    阅读数:306 php 翻译
  • php怎么实现ping

    php实现ping功能的方法:1、在php.ini中开通exec函数;2、创建一个PHP示例文件;3、通过“function ping_time($ip) {...}”方法实现ping功能即可。
    阅读数:224 php
  • php怎么实现日历

    php实现日历的方法:1、创建一个PHP示例文件并设置编码为utf-8;2、创建table表格;3、通过mktime等函数获取时间日期;4、通过for循环实现日历功能即可。
    阅读数:707 PHP 日历
  • php怎么实现翻页

    php实现翻页的方法:1、查询所有符合条件需要进行分页的总数据,计算展示的总页数;2、获取当前显示的是第几页信息;3、根据限制条件查询出当前页所需显示出来的数据;4、将每一条数据echo替换HTML结构内容中,最后显示出来即可。
    阅读数:580 php 翻页
  • php怎么实现校检

    php实现校检的方法:1、声明“session_start();”函数;2、创建验证码实现的代码;3、在验证码实现之前声明一个空变量,用来存放验证码;4、用POST方式来接收验证码即可。
    阅读数:135 php 校检
  • php怎么实现群发

    php实现群发的方法:1、获取第三方的接口api;2、通过“function http_request($url,$data = null){...}”代码发送请求;3、直接调用第三方的url地址,并根据要求的接口传参数即可。
    阅读数:808 php 群发短信
  • php怎么实现限流

    这篇文章给大家分享的是有关php怎么实现限流的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是接口限流那么什么是限流呢?顾名思义,限流就是限制流量,包括并发的流量和一定时间内的总流量,就像你宽带包了1个G的流量
    阅读数:755 php
  • php怎么实现微信登录

    php实现微信登录的方法:1、经用户同意授权,获取code;2、通过code换取网页授权access_token;3、获取用户信息。
    阅读数:839 php 微信
  • php怎么实现浏览记录

    php实现浏览记录的方法:1、设置初始数据;2、获取cookie记录;3、判断浏览记录是否存在;4、将浏览数组序列化后写入cookie;5、读取cookie记录即可。
    阅读数:720 php
  • php怎么实现文字反转

    php实现文字反转的方法:1、使用strrev函数实现反转;2、通过把分割字符串到一个数组中,然后遍历拼接来实现反转;3、利用递归来实现反转。
    阅读数:405 php 反转
  • php怎么实现分页接口

    php实现分页接口的方法:1、接收页数值;2、计算总条数;3、计算偏移量;4、通过“select * from 表名 limit ($offset ,$page)”语句查询每页数据。
    阅读数:517 php
  • php 怎么实现访客次数

    php实现访客次数的方法:1、创建两个数据库表;2、在要进行统计次数的页面上添加代码“$realip=getip();modifyipcount($realip);”即可。
    阅读数:513 php
  • php怎么实现搜索效果

    php实现搜索效果的方法:1、初始化查询条件;2、调用查询方法;3、计算页面显示数据条数;4、在设置的“搜索”菜单中,调用“protected function _search(){...}”搜索方法即可。
    阅读数:537 php 搜索
  • php 怎么实现小票打印

    php实现小票打印的方法:1、在优声云打印开放平台注册账号;2、查看打印机接口开发文档;3、通过编写PHP接口代码,实现打印排版等功能即可。
    阅读数:123 php
  • php sprintf 怎么实现替换

    php sprintf实现替换的方法:1、创建一个PHP示例文件;2、通过“sprintf("There are %u million cars in %s.",$number,$str);”把指定符号替换掉即可。
    阅读数:251 php sprintf
  • php怎么实现ip收集

    php实现获取ip的方法:1、使用“$_SERVER["REMOTE_ADDR"]”获取;2、使用“($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"]”获取;3、使用getRealIp方法获取等。
    阅读数:766 php ip
  • ajax php怎么实现注册

    ajax php实现注册的方法:1、创建login.html注册登录页面;2、通过jquery代码实现验证码验证;3、使用PHP代码userLogin.php和addUser.php实现用户登录和注册功能即可。
    阅读数:957 jquery php
  • php怎么实现数组去重

    php实现数组去重的方法:1、使用array_unique方法对数组元素进行去重;2、使用array_flip方法进行去重。
    阅读数:925 php
  • php怎么实现aes加密

    在PHP中,可以利用“openssl_encrypt()”函数实现aes加密,只需要将参数中加密方法设置为“AES-128-ECB”即可,语法为“openssl_decrypt(加密明文,'AES-128-ECB',加密密钥,数据格式)”。
    阅读数:237 php