note 93310 added to function.socket-connect

From: Date: Wed, 02 Sep 2009 16:40:51 +0000
Subject: note 93310 added to function.socket-connect
Groups: php.notes 
Request: Send a blank email to php-notes+get-160161@lists.php.net to get a copy of this message
This will print the banner from a true 'telnet' server (router, switch, host, etc). $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_connect($socket, '127.0.0.1', 23); while (TRUE) { $r = array($socket); $c = socket_select($r, $w = NULL, $e = NULL, 5); foreach ($r as $read_socket) { if ($r = negotiate($read_socket)) { var_dump($r); exit; } } } function negotiate ($socket) { socket_recv($socket, $buffer, 1024, 0); for ($chr = 0; $chr < strlen($buffer); $chr++) { if ($buffer[$chr] == chr(255)) { $send = (isset($send) ? $send . $buffer[$chr] : $buffer[$chr]); $chr++; if (in_array($buffer[$chr], array(chr(251), chr(252)))) $send .= chr(254); if (in_array($buffer[$chr], array(chr(253), chr(254)))) $send .= chr(252); $chr++; $send .= $buffer[$chr]; } else { break; } } if (isset($send)) socket_send($socket, $send, strlen($send), 0); if ($chr - 1 < strlen($buffer)) return substr($buffer, $chr); } ---- Server IP: 64.71.164.2 Probable Submitter: 70.171.71.12 ---- Manual Page -- http://www.php.net/manual/en/function.socket-connect.php Edit -- https://master.php.net/note/edit/93310 Del: integrated -- https://master.php.net/note/delete/93310/integrated Del: useless -- https://master.php.net/note/delete/93310/useless Del: bad code -- https://master.php.net/note/delete/93310/bad+code Del: spam -- https://master.php.net/note/delete/93310/spam Del: non-english -- https://master.php.net/note/delete/93310/non-english Del: in docs -- https://master.php.net/note/delete/93310/in+docs Del: other reasons-- https://master.php.net/note/delete/93310 Reject -- https://master.php.net/note/reject/93310 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#160161) next »