Bueno como veo que esto no se mueve, os digolo que he conseguido.
Con el Socket_create, he conseguido crear un socket .
Con el socket_conect h conseguido conectarme a mi router con direccion 192.168.1.1 por el puerto telnet, 23
He conseguido conectarme pero una vez que lo hago el router me pide una contraseña pero no se como mandarsela.
He usado Socket_write($socket,$password,srtlen($password)); pero nada
He intentado Socket_send($socket,$password,srtlen($password),1);
pero nada, me pone password *************** BAD password password************ Bad password pasword**************** Bad password Cierra conexion.
Os pongo mi codigo ok??
spoiler <?
$usuario=$HTTP_POST_VARS['usuario'];
$clave=$HTTP_POST_VARS['pass'];
$ip=$HTTP_POST_VARS['IP'];
error_reporting(E_ALL);
echo "<h2>TCP/IP Conexión</h2>\n";
/* Get the port for the WWW service. */
$service_port = getservbyname('telnet', 'tcp'); //Aquí 23 (TELNET)
/* Get the IP address for the target host. */
$address = gethostbyname($ip);//Aquí la dirección IP del router
/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() fallo: razon: " . socket_strerror(socket_last_error()) . "\n"; echo "<br>";
} else {
echo "OK.\n"; echo "<br>";
}
echo "Intentando conectar a '$address' en puerto '$service_port'..."; echo "<br>";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
echo "socket_connect() fallo.\nRazon: ($result) " . socket_strerror(socket_last_error($socket)) . "\n"; echo "<br>";
} else {
echo "OK.\n"; echo "<br>";
}
/*Aquí ya es cuestión de ir leyendo los mensajes que te envía el router y contestar (Por ejemplo, si te manda Login: pues le envías tu usuario */
$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: 192.168.1.1\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';
$password = $clave;
echo "Sending HTTP HEAD request...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";
echo "Reading response:\n\n";
while ($out = socket_read($socket, 2048)) {
echo $out;
}
echo "Closing socket...";
socket_close($socket);
echo "OK.\n\n";
?>