( bind_return = bind(packet_socket,(struct sockaddr_ll *)&addr,sizeof(addr)); ) this shud work ??? please see .. hth, sai >>> Amith <amith@multitech.co.in> 2/16/2004 4:11:13 PM >>> Vijaymahantesh Kalakoti wrote: >Hi amith, > >I think the problem can be from two causes, > >1. the mode in which program is running. > since u r receiving the packets this may not be the problem. > >2. bind the socket. ******************************* > this may be the cause of it. Since u have created socket at >datalink layer( PF_PACKET ), & it is not bind to a device, then u may get >error. > pls bind the socket using the sockaddr_ll structure . >the manual page( man packet ) contains the information for this. > > >I am not sure of my answer. But give a try. > >I hope it will solve u r problem. > >Thanks & Regards. >vijay kalkoti > > hi Vijay, i'am not able to bind the Socket with these values could u just check whether they r proper ? the man pages say it is enough to initialize the struct's 2 feilds - ifindex and family (as far as i cud understand i.e ) . Could anyone help me initialize the struct ? when i do this bind does not succeed with " bind failed :Invalid argument " could someone help ? struct sockaddr_ll addr; addr.sll_ifindex = 0; // guessing addr.sll_protocol = htons(ETH_P_802_3); /*defined in if_ether.h */ bind_return = bind(packet_socket,(struct sockaddr *)&addr,sizeof(addr)); if(bind_return != 0) { perror("Bind failed :"); exit(1); } printf(" Bind Success : returned %d\n",bind_return); while( 1 ) { int count=0; printf("========================================= \n"); len = read(packet_socket,buffer,sizeof(buffer)); pkt = (struct Packet *)buffer; if((pkt->ether.type[0] == 0X08) && (pkt->ether.type[1] ==0x06)) { printf("ARP :"); Print_Arp_Packet(pkt); Send_Arp_Packet(pkt); } -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/