php怎么实现telnet
2022-12-02 09:01:16
177
{{single.collect_count}}

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

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

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

php怎么实现telnet?

php实现telnet功能示例

代码如下:

<?phpclass 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 5var $sleeptime=125000;var $loginsleeptime=1000000;var $fp=NULL;var $loginprompt;var $conn1;var $conn2;/*0 = success1 = couldn't open network connection2 = unknown host3 = login failed4 = PHP version too low*/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的详细内容,更多请关注php中文网其它相关文章!

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}