Choose Category
arpserver.c #include<stdio.h> #include<sys/types.h> #include<sys/shm.h> #include<string.h> main() { int shmid,a,i; char *ptr,*shmptr; shmid=shmget(3000,10,IPC_CREAT|0666); shmptr=shmat(shmid,NULL,0); ptr=shmptr; for(i=0;i<3;i++) { puts("Enter the name:"); scanf("%s",ptr); a=strlen(ptr); printf("String length:%d",a); ptr[a]=' '; puts("Enter ip:"); ptr=ptr+a+1; scanf("%s",ptr); ptr[a]='\n'; ptr=ptr+a+1; } ptr[strlen(ptr)]='\0'; printf("\nARP table at serverside is=\n%s",shmptr); shmdt(shmptr); }
arpclient.c #include<stdio.h> #include<string.h> #include<sys/types.h> #include<sys/shm.h> main() { int shmid,a; char *ptr,*shmptr; char ptr2[51],ip[12],mac[26]; shmid=shmget(3000,10,0666); shmptr=shmat(shmid,NULL,0); puts("The ARPtable is:"); printf("%s",shmptr); printf("\n1.ARP\n2.RARP\n3.EXIT\n"); scanf("%d",&a); switch(a) { case 1: puts("Enter ip address:"); scanf("%s",ip); ptr=strstr(shmptr,ip); ptr-=8; sscanf(ptr,"%s%*s",ptr2); printf("mac addr is:%s",ptr2); break; case 2: puts("Enter mac addr"); scanf("%s",mac); ptr=strstr(shmptr,mac); sscanf(ptr,"%*s%s",ptr2); printf("%s",ptr2); break; case 3: exit(1); } }