php telnet function implementation code
Release: 2016-07-25 09:13:02
Original
1452 people have browsed it
本节内容:
php telnet功能实例
文件:telnet.php
-
-
error_reporting(-1);
//telnet功能类
- class Telnet {
- var $sock = NULL;
-
- function telnet($host,$port) {
- $this->sock = fsockopen($host,$port);
- socket_set_timeout($this->sock,2,0);
- }
function close() {
- if ($this->sock) fclose($this->sock);
- $this->sock = NULL;
- }
-
- function write($buffer) {
- $buffer = str_replace(chr(255),chr(255).chr(255),$buffer);
- fwrite($this->sock,$buffer);
- }
-
- function getc() {
- return fgetc($this->sock);
- }
function read_till($what) {
- $buf = '';
- while (1) {
- $IAC = chr(255);
-
- $DONT = chr(254);
- $DO = chr(253);
-
- $WONT = chr(252);
- $WILL = chr(251);
-
- $theNULL = chr(0);
-
- $c = $this->getc();
-
- if ($c === false) return $buf;
- if ($c == $theNULL) {
- continue;
- }
-
- if ($c == "1") {
- continue;
- }
if ($c != $IAC) {
- $buf .= $c;
-
- if ($what == (substr($buf,strlen($buf)-strlen($what)))) {
- return $buf;
- }
- else {
- continue;
- }
- } // bbs.it-home.org
$c = $this->getc();
-
- if ($c == $IAC) {
- $buf .= $c;
- }
- else if (($c == $DO) || ($c == $DONT)) {
- $opt = $this->getc();
- // echo "we wont ".ord($opt)."n";
- fwrite($this->sock,$IAC.$WONT.$opt);
- }
- elseif (($c == $WILL) || ($c == $WONT)) {
- $opt = $this->getc();
- // echo "we dont ".ord($opt)."n";
- fwrite($this->sock,$IAC.$DONT.$opt);
- }
- else {
- // echo "where are we? c=".ord($c)."n";
- }
- }
- }
- }
/*
- 使用方法
- telnet类的调用
- $telnet = new telnet("192.168.0.1",23);
- echo $telnet->read_till("login: ");
- $telnet->write("kongxxrn");
- echo $telnet->read_till("password: ");
- $telnet->write("KONGXXrn");
- echo $telnet->read_till(":> ");
- $telnet->write("lsrn");
- echo $telnet->read_till(":> ");
- echo $telnet->close();
- */
-
复制代码
|
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31