memset(SendBuf,0,128); memcpy(SendBuf,&psd_header,sizeof(psd_header)); memcpy(SendBuf+sizeof(psd_header),&tcp_header,sizeof(tcp_header)); tcp_header.th_sum=CheckSum((USHORT *)SendBuf,sizeof(psd_header)+sizeof(tcp_header)); /*tcp_header.th_sum = htons(ntohs(tcp_header.th_sum)-(USHORT)strlen(g_BehindString));*/ //计算IP校验和 memset(SendBuf,0,128); memcpy(SendBuf,&ip_header,sizeof(ip_header)); memcpy(SendBuf+sizeof(ip_header),&tcp_header,sizeof(tcp_header)); memset(SendBuf+sizeof(ip_header)+sizeof(tcp_header),0,sizeof(tcp_header)); ip_header.checksum=CheckSum((USHORT *)SendBuf,sizeof(ip_header)); //填充发送缓冲区 memset(SendBuf,0,128); memcpy(SendBuf,ðerHeader,sizeof(ETHERNETHEADER)); memcpy(SendBuf+sizeof(ETHERNETHEADER),&ip_header,sizeof(ip_header)); memcpy(SendBuf+sizeof(ETHERNETHEADER)+sizeof(ip_header),&tcp_header,sizeof(tcp_header)); datasize=sizeof (ip_header)+sizeof(tcp_header)+sizeof(ETHERNETHEADER); pcap_sendpacket(fp,(const unsigned char *)SendBuf,datasize);
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!