© 2014 Firstsoft Technologies (P) Limited. login
Hi 'Guest'
Home SiteMap Contact Us Disclaimer
enggedu
Quick Links
Easy Studies


C Program To Simulate ARP/RARP:

//ARP SERVER #include #include #include #include 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 mac"); 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("\n ARP table at serverside is=\n%s", shmptr); shmdt(shmptr); } ARP table at serverside is a.b.c.d 1.2.3.4 e.f.g.h 5.6.7.8 i.j.k.l 9.1.2.3 //ARP CLIENT #include #include #include #include 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 arp table is"); printf("%s",shmptr); printf("\n1.ARP\n 2.RARP\n 3.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); } }

SAMPLE INPUT OUTPUT:


the arp table is
a.b.c.d  1.2.3.4
e.f.g.h   5.6.7.8
i.j.k.l     9.1.2.3

1.ARP
2.RARP
3.EXIT
enter your choice: 1
enter ip address: 1.2.3.4
mac addr is a.b.c.d

enter your choice:2
enter mac address: e.f.g.h
ip addr is 5.6.7.8

 
SLogix Student Projects
bottom