php telnet功能实现代码
Freigeben: 2016-07-25 09:13:02
Original
1438 Leute haben es durchsucht
本节内容:
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("kongxx\r\n");
- echo $telnet->read_till("password: ");
- $telnet->write("KONGXX\r\n");
- echo $telnet->read_till(":> ");
- $telnet->write("ls\r\n");
- echo $telnet->read_till(":> ");
- echo $telnet->close();
- */
-
复制代码
|
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
-
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