直接使用socket,有原始,纯属好玩
目前不知道如何在php中使用多线程,所以无法实现在当前的进程中,创建一个线程,用来接收数据,但是换成其他语言,一定没有问题
<?php
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_set_block($socket);
socket_connect ($socket, “192.168.1.10″,21);
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”user www\n”,strlen(“user www\n”));
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”pass alagazacom2612\n”,strlen(“pass alagazacom2612\n”));
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”CDUP\n”,strlen(“CDUP\n”));
echo(socket_read($socket,4096).”\n”);
socket_write($socket,”SYST\n”,strlen(“SYST\n”));
echo(socket_read($socket,4096).”\n”);
socket_write($socket,”PASV\n”,strlen(“PASV\n”));
echo($str=socket_read($socket,1024).”\n”);
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_set_block($socket);
socket_connect ($socket, “192.168.1.10″,21);
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”user www\n”,strlen(“user www\n”));
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”pass alagazacom2612\n”,strlen(“pass alagazacom2612\n”));
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”CDUP\n”,strlen(“CDUP\n”));
echo(socket_read($socket,4096).”\n”);
socket_write($socket,”SYST\n”,strlen(“SYST\n”));
echo(socket_read($socket,4096).”\n”);
socket_write($socket,”PASV\n”,strlen(“PASV\n”));
echo($str=socket_read($socket,1024).”\n”);
$base = substr($str,strpos($str,”(“)-1,strlen($str)-2);
$base=str_replace(“(“, “”, $base);
$base=str_replace(“)”, “”, $base);
echo($base.”\n”);
$address = explode(“,”, $base);// Divide uma string em strings
print_r($address);
echo(“Set Port:\n”);
$m = $address[4];
$n = $address[5];
$port = intval($m)*256+intval($n);//生成被动ftp所需的接收用的端口号
echo($port.”\n”);
$base=str_replace(“(“, “”, $base);
$base=str_replace(“)”, “”, $base);
echo($base.”\n”);
$address = explode(“,”, $base);// Divide uma string em strings
print_r($address);
echo(“Set Port:\n”);
$m = $address[4];
$n = $address[5];
$port = intval($m)*256+intval($n);//生成被动ftp所需的接收用的端口号
echo($port.”\n”);
$socket_recv = socket_create_listen($port);
socket_connect($socket_recv, “192.168.1.20″,21);
socket_write($socket,”LIST\n”,strlen(“LIST\n”));
//socket_accept($socket_recv);
//remote_socket_client_handle($remote_fd);
echo(socket_read($socket_recv,1024).”\n”);
//
// Accepts a connection on a socket
//socket_bind($socket_recv,”192.168.1.100″,$port);// Binds a name to a socket
//socket_connect($socket_recv, “192.168.1.20″,20);// Initiates a connection on a socket
socket_connect($socket_recv, “192.168.1.20″,21);
socket_write($socket,”LIST\n”,strlen(“LIST\n”));
//socket_accept($socket_recv);
//remote_socket_client_handle($remote_fd);
echo(socket_read($socket_recv,1024).”\n”);
//
// Accepts a connection on a socket
//socket_bind($socket_recv,”192.168.1.100″,$port);// Binds a name to a socket
//socket_connect($socket_recv, “192.168.1.20″,20);// Initiates a connection on a socket
//echo(socket_read($socket_recv,1024).”\n”);
?>
![]()
![]()
