ÏÂÃæÊÇipÍ·½á¹¹µÄÒ»²¿·Ö£¬ÎªÊ²Ã´ÒªÕâÑù£¿Ð»Ð» #if BYTE_ORDER == LITTLE_ENDIAN u_char ip_hl:4, /* header length */ ip_v:4; /* version */ #endif #if BYTE_ORDER == BIG_ENDIAN u_char ip_v:4, /* version */ ip_hl:4; /* header length */ #endif
by crazyyeah - ÍøÂç¼¼Êõ - 2003-12-02 20:18:21 ÔĶÁ£¨1106£© »Ø¸´£¨0£©
ÏÂÃæÊÇipÍ·½á¹¹µÄÒ»²¿·Ö£¬ÎªÊ²Ã´ÒªÕâÑù£¿Ð»Ð» \r\n\r\n#if BYTE_ORDER == LITTLE_ENDIAN \r\nu_char ip_hl:4, /* header length */ \r\nip_v:4; /* version */ \r\n#endif \r\n#if BYTE_ORDER == BIG_ENDIAN \r\nu_char ip_v:4, /* version */ \r\nip_hl:4; /* header length */ \r\n#endif
ÏÂÃæÊÇipÍ·½á¹¹µÄÒ»²¿·Ö£¬ÎªÊ²Ã´ÒªÕâÑù£¿Ð»Ð» #if BYTE_ORDER == LITTLE_ENDIAN u_char ip_hl:4, /* header length */ ip_v:4; /* version */ #endif #if BYTE_ORDER == BIG_ENDIAN u_char ip_v:4, /* version */ ip_hl:4; /* header length */ #endif
×î½üÍøÂç±È½ÏÂÒ£¬Ò»»á¶ùÊÇÓлúÆ÷Öж¾£¬Ò»»á¶ùÊÇÍøÂçÖÐ¶Ï Ã¦µÃ²»ÐÐÁË¡£¿ÉÊÇûÓÐÒ»¸öºÃµÄ½â¾ö·½°¸À´¶Ô¸¶¡£ÒòΪ ÍøÂçµÄ²»ÍêÉÆ£¬Ò»¸ö¿É¿ØµÄÍø¹Ø¶¼Ã»ÓÐËùÒÔ³öÎÊÌâ²éÆð À´¶¼ºÜÂé·³¡£ ¿ªÊ¼µÄʱºòÏë×öÒ»¸öppoe+freeradius+mysqlµÄ¿É¿ØÍø¹Ø£¬ µ«ÊÇÕâÖ»ÄܳÉΪһÖÖÏë·¨£¬ÔÒòÊǹ«Ë¾²»Ïë¶ÔÍøÂç½øÐÐ¸Ä±ä ¸ü²»Ïë¸Ä±äÔ±¹¤µÄϰ¹ßËùÒÔÕâËãÁË£¬²»È¥·ÑÐÄ˼ÁË¡£×î½ü ÓÐͬÊÂÔÚ²é¹ØÓÚisaµÄ×ÊÁÏ£¬ËµÊÇÒªÉÏÓò¡£ÎÒÓÐЩ²»Ã÷°×£¬ ÔÚÎÒµÄÀí½âÖÐÓò¶ÔÓÚȨÏ޵ĿØ...
×î½üÍøÂç±È½ÏÂÒ£¬Ò»»á¶ùÊÇÓлúÆ÷Öж¾£¬Ò»»á¶ùÊÇÍøÂçÖжÏ\r\næµÃ²»ÐÐÁË¡£¿ÉÊÇûÓÐÒ»¸öºÃµÄ½â¾ö·½°¸À´¶Ô¸¶¡£ÒòΪ\r\nÍøÂçµÄ²»ÍêÉÆ£¬Ò»¸ö¿É¿ØµÄÍø¹Ø¶¼Ã»ÓÐËùÒÔ³öÎÊÌâ²éÆð\r\nÀ´¶¼ºÜÂé·³¡£\r\n ¿ªÊ¼µÄʱºòÏë×öÒ»¸öppoe+freeradius+mysqlµÄ¿É¿ØÍø¹Ø£¬\r\nµ«ÊÇÕâÖ»ÄܳÉΪһÖÖÏë·¨£¬ÔÒòÊǹ«Ë¾²»Ïë¶ÔÍøÂç½øÐиıä\r\n¸ü²»Ïë¸Ä±äÔ±¹¤µÄϰ¹ßËùÒÔÕâËãÁË£¬²»È¥·ÑÐÄ˼ÁË¡£×î½ü\r\nÓÐͬÊÂÔÚ²é¹ØÓÚisaµÄ×ÊÁÏ£¬ËµÊÇÒªÉÏÓò¡£ÎÒÓÐЩ²»Ã÷°×£¬\r\nÔÚ...
ÎÒÖªµÀÕâ¸öÎÊÌâÓ¦¸ÃÒªÔÚ°²È«ÄǸö°æ¿éÈ¥£¬µ«ÓÉÓÚÕâ¸ö°æ¿éÈ˶àһЩ£¬ËùÒÔ·ÅÔÚÕâ¸ö°æ¿é£¬Ï£Íû°æÖ÷²»Òª½éÒâ°¡£¡£¡ iptablesÔÚ²»¸Ä±äÔ´µØÖ·µÄÇé¿öÏ£¬ÔÚÍ·²¿¼Ó¸öip¸ÃÔõô×ö°¡£¡
×î½üæÓÚÀàËÆlinuxÏÂvpnÏà¹ØµÄ¿ª·¢£¬ÏÖÔÚÓöµ½Ò»¸ö¼¼ÊõµãÉϵÄÎÊÌ⣬ʼÖÕ½â¾ö²»ÁË£¬ÏëÎÊÎÊÓÐÏà¹Ø¾ÑéµÄÅóÓÑ¡£Ð»Ð» ±ÈÈ磬ÎÒ·¢ËÍÊý¾Ý°üÊÇ£¬ÔÚÐÒéÕ»µÄip²ã£¬ÐèÒª×Ô¼ºÊÖ¶¯Ôٴηâ×°Ò»¸öµÄipÍ·ÔÚ·¢ËͳöÈ¥¡£ÏÖÔÚ£¬ÎÒÔÚ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¶¼Ð´ºÃÁËÊÖ¶¯·â×°ipÍ·ºÍÊÖ¶¯²ð·âipÍ·£¬µ«£¬Ê¼ÖÕ²»³É¡£ÎÒ×¥°ü£¬ÏÔʾ°Ñ·â×°ºÃipÍ·µÄÊý¾Ý°üѹ¸ù¾Íû·¢³öÈ¥£¬ºÃÏñÌáʾÊǸö»µ°ü¡£ÕÛÌÚÁ˺ܾ㬾ÍÊÇÕÒ²»µ½ÎÊÌâ¡£ ÓÐûÓУ¬ÅóÓÑÓйýÕâÑùµÄ¾Àú£¬¸øÐ©½¨ÒéºÍ¾Ñé...
ÇëÎÊ£¬ÎÒÈç¹ûÖØÐ·ÖÅäÒ»¸öskb struct sk_buff* new_skb = alloc_skb(SIZE,GFP_ATOMIC); ÄÇÎÒÖØÐ»ñµÃipÍ·µÄ»°»¹ÊÇ struct iphdr* iph = ip_hdr(new_skb); ¿ÉÒÔÂ𣿠ÎÒÕâô×öÁË£¬µ«ÊÇÎÒ printk("ip version is:%d",new_skb->version); ÎÞ·¨µÃµ½½á¹û£¬Äں˻ᱨ´í¡£ ËùÒÔÕâÖÖ·½·¨ÊDz»ÊDz»ÄÜ»ñµÃipÍ·£¿ ÒªÔõô×öÄØ£¿
Ôõô¸ö¼ÆËã·½·¨? ÎÒ²éÁËÒ»ÏÂ,µ«ÊÇÀí½âÉÏÓеãÎÊÌâ. ´ó¼Ò¸øÏêϸ½âÊÍÏÂÏ¡£ ÊDz»ÊǰÑÊý¾ÝÖÐÿ¸ö16Ïà¼Ó,È»ºó¸³Öµ¸øÒ»¸ö32λÊý. È»ºó¶Ô¸Ã32λÊý¸ßλ+µÍλ(16λ), È»ºóÇó·´ÄØ? unsigned short csum(unsigned char *addr, int count) { /* Compute Internet Checksum for "count" bytes *...
a = (ip & 0xff000000) >> 24 b = (ip & 0x00ff0000) >> 16 c = (ip & 0x0000ff00) >> 8 d = ip & 0x000000ff Çë½ÌÕâ¶Î´úÂëÔõô½âÊÍ? Ϊʲô²»ÊÇ ÕâÑùд£¿ AÀࣺ a = (ip & 0xff000000) >> 24 BÀࣺ b = (ip & 0xffff0000) >> 16 CÀࣺ c = (ip & 0xffffff00) >> 8 DÀࣺ d = ip & 0xffffffff
http://blog.chinaunix.net/u/33048/showart_1839753.html ÕâÊÇGodbach¹ØÓÚÄÚºËÓëÓû§Ì¬Ï໥ͨÐŵÄһƪ·Ç³£ºÃµÄÎÄÕ ÎÒÏëÁ˽âһϣº ÎÒÖ»ÐèÒªipÊý¾Ý°üµÄdataÓò£¬ÊÇ·ñÖ»Òª´Ópayload[data¿ªÊ¼]µ½payload[data½áÊø]copyһϾͺã¿ ÒòΪip°üÖÐÓÐÑ¡ÏîÕâ¸öÓò£¬ËùÒÔÎÒÏëÁ˽âÒ»ÏÂÔõôÅжÏÊÇ·ñÓÐÕâ¸öÓò ÓÐûÓÐÖ»Õë¶ÔipÊý¾Ý°ü£¬¶ø²»¹ÜÆäÊÇ·ñÊÇICMP,TCP,UDP°ü£¿»òÕßÔõôÅжÏip°üµÄÀàÐÍ »¹ÓÐÔÚGodbachµÄ´úÂëÖж¨ÒåÁËunsigned char payload[128]...