¹ØÓÚlinxuÏ·¢ËÍARP REPLY³ÌÐò
ǰ¼¸ÌìÔÚÍøÉÏ¿´ÁËµã¹ØÓÚ£Á£Ò£ÐµÄ³ÌÐò£¬Ïëдһ¸öARP REPLY³ÌÐò£¬Ð´ÁËÒ»²¿·Öʱ·¢ÏÖ»¹ÊDz»¶®Ïà¹ØÖªÊ¶¡£ÏÖÔÚÎÒ¼òµ¥½ÓÊÜһϳÌÐò¡£ i6JO*npatr'm#wK1: ¶¨ÒåÁË struct sockaddr att_addr , att_addr.sa_family=PF_PACKET, strcpy(att_addr.sa_data, "eth0")Õâ¾ä»°Êdz±ðÈ˵ģ¬Êµ»°ËµÎÒ²»Ì«¶®£¬´ó¸ÅÒâ˼ÊÇÑ¡ÔñÏÖÓõÄÍø¿¨£¬ÎÒÏëÄÇÑùµÄ»°IPËüÄÜ×Ô¶¯È¡³ö¡£
i[(v(q(qT'|i K ^
2£º´´½¨socket£¬ sockfd=socket(PF_PACKET,SOCK_PACKET,htons(0x800)) £¬ÎÒÏë²»ÐèÒªbind°É¡£TcD8uK6M } q2t
3£º·â×°Êý¾Ý°ü£¬¶¨Òå char p_send[1024], ·â×°ethenr_header ,(struct ether_header *)p_send . ·â×° ether_arp, (struct ether *)(p_send+sizeof(ether_header)),Ìî³äÊý¾Ý
k'Jd8[ T4x
xW*C,ts;G
4£ºÈ»ºó·¢ËÍÊý¾Ý sendto(sockfd,p_send,p_length,0,&att_addr,sizeof(att_addr)) SJ0p[ u'eUP)f;[\
Y+f;V-q0OF5\J%j.t
¸ßÊÖÃÇ¿´¿´ÓÐʲôÎÊÌâÂð£¿ÊDz»ÊÇÎÒÄĵط½×öµÃ²»¶ÔÁË£¿ÎªÊ²Ã´ÎÒÓÃtcpdumpÌý²»µ½°ü£¿ °¦£¬ÔÛÃǵÄÂÛÌ³ÕæµÄ¿ì²»ÐÐÁË£¬Á½ÌìµÄʱ¼ä´ò²»¿ª£¬½ñÌìºÃ²»ÈÝÒ×´ò¿ªÁË£¬½øÕâ¸ö°å¿é»¹×ÜÊÇ·þÎñÆ÷棬ǧÐÁÍò¿à½øÀ´ÁË»¹Ã»ÈË»áÎÒµÄÌû×Ó£¡£¡£¡£¡ ¡£¡£¡£¡£¡£¡£ARPÊÇUDP°üŶ£¬Äã˵Ҫ²»ÒªBIND£¿
»¹ÓУ¬ÄãÊÇ×öREPLY»¹Êǽö½ö·¢°ü£¿
Ò³:
[1]