note 42558 added to function.fsockopen

From: Date: Fri, 21 May 2004 08:50:57 +0000
Subject: note 42558 added to function.fsockopen
Groups: php.notes 
Request: Send a blank email to php-notes+get-69900@lists.php.net to get a copy of this message
Modified code for telnet to work with not-so-fast connections. The old version garbles the output and/or cuts the output before it is finished when output is above about 100 lines. <?php # This is the difficult part, the Telnet header $header1=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); $header2=chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC). chr(0x22).chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21); # connecting $fp=fsockopen("127.0.0.1",23); # sending the Telnet header fputs($fp,$header1); usleep(125000); fputs($fp,$header2); usleep(125000); # login fputs($fp,"user\r"); usleep(125000); fputs($fp,"users.pass\r"); usleep(125000); # root looks nice fputs($fp,"su\r"); usleep(125000); # takes some time, we had to wait fputs($fp,"root.pass\r"); # some tests fputs($fp,"ifconfig\r"); fputs($fp,"echo year telnet php connect works|wall\r"); # we had to wait usleep(125000); # show the output do { $output.=fread($fp, 80); // read line by line, or at least small chunks $stat=socket_get_status($fp); } while($stat["unread_bytes"]); $output = str_replace("\n", "<br>", $output); echo $output; fclose($fp); ?> ---- Manual Page -- http://www.php.net/manual/en/function.fsockopen.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+42558 Delete -- http://master.php.net/manage/user-notes.php?action=delete+42558&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+42558&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#69900) next »