Path: blob/master/09-remote-command-execution-udp/server.c
137 views
/*1* Title : Remote command execution using UDP2* Name : Aditya Pratap Singh Rajput3* Subject : Network Protocols And Programming using C4*5Note : please consider the TYPOS in comments.6Thanks.7*/8#include <sys/types.h>9#include <sys/socket.h>10#include <stdio.h>11#include <stdlib.h>12#include <netdb.h>13#include <netinet/in.h>14#include <string.h>15#include <sys/stat.h>16#include <arpa/inet.h>17#include <unistd.h>18#define MAX 100019int main()20{2122int serverDescriptor = socket(AF_INET, SOCK_DGRAM, 0);23int size;24char buffer[MAX], message[] = "Command Successfully executed !";25struct sockaddr_in clientAddress, serverAddress;2627socklen_t clientLength = sizeof(clientAddress);2829bzero(&serverAddress, sizeof(serverAddress));30serverAddress.sin_family = AF_INET;31serverAddress.sin_addr.s_addr = htonl(INADDR_ANY);32serverAddress.sin_port = htons(9976);3334bind(serverDescriptor, (struct sockaddr *)&serverAddress, sizeof(serverAddress));35while (1)36{37bzero(buffer, sizeof(buffer));38recvfrom(serverDescriptor, buffer, sizeof(buffer), 0, (struct sockaddr *)&clientAddress, &clientLength);39system(buffer);40printf("Command Executed ... %s ", buffer);41sendto(serverDescriptor, message, sizeof(message), 0, (struct sockaddr *)&clientAddress, clientLength);42}43close(serverDescriptor);44return 0;45}4647