main.c

来自「ip数据包截获」· C语言 代码 · 共 43 行

C
43
字号
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/socket.h>#include<sys/types.h>#include<sys/ioctl.h>#include<netinet/if_ether.h>#include<netdb.h>#include<net/ethernet.h>#include<net/if.h>#include<signal.h>#include<sys/wait.h>#include<unistd.h>                                                              void handler(int signo){    int pid;    while((pid=wait(NULL))!=-1) ;}int main(){    int sock, i=0, id, bytes;    int fromlen;    struct sockaddr_in from;    char url[100], dns[100], buffer[65535];    signal(SIGCHLD,handler);    sock=set_promisc();    fromlen = sizeof(from);    while (1) {	if ((bytes = recvfrom(sock, buffer, sizeof(buffer), 0,			      (struct sockaddr *) &from, &fromlen)) < 0)	    perror("recvfrom\n");	id = fork();	if (id == 0) {	    i = intercept(buffer, dns);	    exit(0);	} else if (id == -1)	    perror("fork");	else;    }    close(sock);    return 0;}

⌨️ 快捷键说明

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