#include #include #include #include #include //#include //#include //#include /* Receive UDP packets using C Author: Tim Pierson, Dartmouth CS55, Winter 2021 From Du: Computer and Internet Security compile gcc receive_udp.c -o receive_udp run: ./receive_upd send data from netcat in another terminal nc -u 127.0.0.1 9090 */ const int MAX_SIZE = 1500; const int port = 9090; void main() { struct sockaddr_in server; struct sockaddr_in client; int clientlen; char buf[MAX_SIZE]; // Create the socket int sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); memset((char *) &server, 0, sizeof(server)); server.sin_family = AF_INET; server.sin_addr.s_addr = htonl(INADDR_ANY); server.sin_port = htons(port); if (bind(sock, (struct sockaddr *) &server, sizeof(server)) < 0) { printf ("Binding error!"); return; } // Getting captured packets while (1) { bzero(buf,MAX_SIZE); recvfrom(sock, buf, MAX_SIZE-1, 0, (struct sockaddr *) &client, &clientlen); printf("%s\n",buf); } close(sock); }