第一次看到祢的这篇<------------------------ > 看到妻子偷情的那一刻我心如刀割 ! >帖子,没看完莪就已泪流满面,心里有一种说不出来的痛..!<br/>不知道出与什么原因,让莪很想认识祢..!莪是个有很多心事的人,可又不方便告诉朋友,只能一个人藏在心底,这种感觉莪不知道什么时候才能结束,莪什么时候才能解脱,才能活的不这么累,好想找个人诉说心里的苦,可谁又愿意当莪的倾听者呢..!莪的QQ417228631想认识莪就加莪吧.<br/>
-
never
回复于
2008-01-03
-
不好意思啊,一直没有注意到你的信 今晚上回去就加你 别难过了,啥事挺不过去啊,是吧,只要活着,其他的都不算啥了。相信我。
<br/>你好<br/><br/>求教一个问题<br/>iamliguop 2007年12月02日 21点07分20秒 说:<br/>#include <stdio.h> <br/>#include <unistd.h> <br/>#include <sys/socket.h> <br/>#include <sys/types.h> <br/>#include <net/if.h> <br/>#include <sys/ioctl.h> <br/>#include <linux/if_ether.h> <br/>#include <linux/in.h> <br/>#include <string.h> <br/>#include <linux/if_packet.h> <br/>int main() <br/>{ <br/>printf("input mac of dest\n"); <br/>unsigned char mac[6]; <br/>scanf("%x:%x:%x:%x:%x:%x",mac,mac 1,mac 2,mac 3,mac 4,mac 5); <br/>//MAC中存储目的MAC地址 <br/> int sock,sock1; <br/>int n; <br/>char buffer[2048]; <br/>unsigned char *iphead,*ethhead; <br/>struct ifreq wlan; <br/>strncpy(wlan.ifr_name,"eth0",IFNAMSIZ); <br/> //设置目的地址的SOCKADDR——LL <br/>struct sockaddr_ll dest; <br/>memset(&dest,0,sizeof(dest)); <br/>dest.sll_family=AF_PACKET; <br/>dest.sll_protocol=htons(ETH_P_ALL); <br/>dest.sll_ifindex =wlan.ifr_ifindex; <br/>//发送MAC数据报的SOCK1。 <br/>if((sock1=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL))) <0) <br/>{ <br/>perror("socket1"); <br/>return -1; <br/>} <br/>//接受MAC数据报的SOCK <br/>if((sock=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL))) <0) <br/>{ <br/>perror("socket"); <br/>return -1; <br/>} <br/>/* <br/>open two 802.11 datalink socket to recieve and send packet <br/>*/ <br/>wlan.ifr_flags ¦=IFF_PROMISC; <br/>if (ioctl(sock,SIOCGIFFLAGS,&wlan) == -1) <br/>{ <br/>perror("ioctl"); <br/>close(sock); <br/>return -1; <br/>} <br/>if (ioctl(sock1,SIOCGIFFLAGS,&wlan) == -1) <br/>{ <br/>perror("ioctl"); <br/>close(sock); <br/>return -1; <br/>} <br/><br/>/* <br/>change wlan netcard to in promiscuos mode <br/>*/ <br/>while(1) <br/>{ <br/>n=recvfrom(sock,buffer,2048,0,NULL,NULL); <br/>dest.sll_halen=sizeof(mac); <br/>memcpy(dest.sll_addr,mac,6); <br/>int flag = 1; <br/> flag = sendto(sock1,&buffer,sizeof(buffer),0,(struct sockaddr *)(&dest),sizeof(dest)); <br/> printf("the sendto function return is %d\n",flag); <br/>} <br/>return 0; <br/>} <br/>运行后,打印the sendto function return is -1。 <br/>在返回sendto()的flag的值为-1,即发送没成功,<br/>不知这个该怎么办,望指点。