¡¾×ªÌûLINUX¡¿netfilterÖеÄconntrackÄÚºËÔĶÁ±Ê¼Ç(3)
2008-07-07 22:06
PREROUTING£ºip_conntrack_defrag à ip_conntrack_in
1£¬ip_conntrack_defrag:
ͨ³£µ±IP±¨Îı»ËÍÖÁL4²ã´¦Àíʱ£¬Èç¹û¸Ã±¨ÎÄÊÇ·ÖÆ¬±¨ÎÄ£¬ÄÇô±¨ÎľͻáÏȱ»±£´æÆðÀ´£¬Ö±µ½ËùÓÐ·ÖÆ¬µ½´ïºóÖØ×é³ÉÒ»¸öÍêÕû±¨Îĺó£¬ÔÙ±»·Ö·¢µ½L4²ã¡£µ±Ã»ÓÐÆô¶¯conntrackʱ£¬netfilter¸÷HOOKµã¶Ô±¨ÎIJÙ×÷ʱ£¬²¢²»¼ì²é¸Ã±¨ÎÄÊÇ·ñ·ÖƬ£»µ«ÊÇÈç¹ûÆô¶¯conntrack¹¦ÄÜ£¬Ôò±ØÐë±£Ö¤½øÈënetfilter HOOKµãµÄ±¨ÎÄÊÇÒ»¸öÍêÕûµÄ±¨ÎÄ£¬Òò´Ëip_conntrack_defragÒ»°ã´¦ÓÚ×îǰ¶ËµÄHOOK£¬¸ºÔð½«·ÖÆ¬±¨ÎÄÖØ×é¡£
/* Èô±¨ÎÄ·ÖÆ¬£¬Ôò µ÷ÓÃip_ct_gather_frags ×é×°±¨ÎÄ£¬Èç¹ûËùÓÐ·ÖÆ¬¾ùÒѵ½´ï£¬pskbÖ¸ÏòÐÂÉú³ÉµÄ±¨ÎÄ£¬¼ÌÐøÑØ×ÅHOOKÁ´½øÐÐÏÂÒ»²½´¦Àí£»·ñÔòΪ¿Õ£¬±¨Îı»»º´æµÈ´ýÏÂÒ»·ÖƬµ½À´*/
if ((*pskb)->nh.iph->frag_off & htons(IP_MF|IP_OFFSET)) {
*pskb = ip_ct_gather_frags(*pskb,
hooknum == NF_IP_PRE_ROUTING ?
IP_DEFRAG_CONNTRACK_IN :
IP_DEFRAG_CONNTRACK_OUT);
if (!*pskb)
return NF_STOLEN;
}
return NF_ACCEPT;
ip_ct_gather_fragsÖ±½Óµ÷ÓÃip_defrag´¦ÀíIP·ÖƬ±¨ÎÄ¡£¶ÔÓÚ·ÖÆ¬±¨ÎĵÄÖØ×éÖ÷ÒªÔÚip_fragment.cÖÐÍê³É¡£
3, resolve_normal_ct£º
resolve_normal_ctÔÚÈ«¾ÖÁ¬½Ó±íÖУ¬²éÕÒÓë¸Ã±¨ÎÄÏàÓ¦µÄÁ¬½Ó״̬£¬·µ»ØµÄÊÇip_conntrackµÄÖ¸Õ룬ÓÃÓÚÃèÊöºÍ¼Ç¼Á¬½ÓµÄ״̬£»Èô¸ÃÁ¬½ÓÉв»´æÔÚ£¬Ôò´´½¨ÏàÓ¦µÄ½á¹¹£¬²¢½øÐгõʼ»¯£¬ÉèÖÃÁ¬½Ó״̬¡£
/*1,½«Êý¾Ý°üµÄÄÚÈÝת»¯³ÉÏàÓ¦µÄtuple£¬¶ÔÓÚºÍÐÒéÏà¹ØµÄ²¿·Ö£¬Èç¶Ë¿Ú£¬Ôòµ÷ÓÃÏà¹ØÐÒéµÄ´¦Àíº¯Êýpkt_to_tuple*/
if (!ip_ct_get_tuple(skb->nh.iph, skb, skb->nh.iph->ihl*4,
Ïà¹ØÎĵµ£º
¡¡¡¡»·¾³£ºCentOS 5.3 x86_64Ï£¬/dev/sdb1ΪÊý¾Ý·ÖÇø/data0£¬EXT3Îļþϵͳ¡£
¡¡¡¡Ç°Òò£ºÎóɾÁË/data0/tcsql/cankao/phpcws-1.5.0/httpcws.cppÎļþ¡£ÓÉÓÚÍüÁ˱¸·Ýhttpcws.cppÎļþ£¬ÖØÐ¿ª·¢¹¤×÷Á¿½Ï´ó£¬Òò´ËÖ»Óлָ´¸ÃÎļþÒ»Ìõ·¿É×ß¡£
¡¡¡¡debugfsÃüÁîÕë¶ÔEXT2·ÖÇø»¹ÐУ¬µ«¶ÔEXT3·ÖÇø¾Í°ï²»ÉÏæÁË¡£Å¼È»·¢ÏÖµÄÒ»¿î¿ªÔ´Èí ......
FreeBSDÊÇÒ»¸öÍêÕûµÄ²Ù×÷ϵͳ£¬°üº¬ÁË´Ó¿ª·¢¹¤¾ßµ½¸÷ÖÖ¸÷ÑùµÄÓ¦ÓóÌÐò¡£
ĿǰÈËÃÇÈÏΪFreeBSDÔÚÎȶ¨ÐÔºÍÍøÂçÔË×÷ÉϵÄÐÔÄÜÒªÓÅÓÚLinux¡£
ËüÓÉÒ»¸öÈí¼þ¿ª·¢µÄºËÐÄÍŶÓÀ´Î¬»¤£¬Õû¸öÔʼ³ÌÐò´úÂë»áÓÐ×éÖ¯µØ½øÐиüУ¬ËùÒÔ³ÌÐò´úÂë±È½ÏÓÐÒ»ÖÂÐÔ¡£
ÓÉÓÚÈËÃǶÔFreeBSDµÄÈÏʶ±È½ÏÉÙ£¬Ê¹Ó÷¶Î§Ò²±È½ÏС£¬µ¼ÖÂÁËËüÔÚ¶ÔһЩвúÆ· ......
#find ... -exec rm {} \;
#find ... | xargs rm -rf
Á½Õß¶¼¿ÉÒÔ°ÑfindÃüÁî²éÕÒµ½µÄ½á¹ûɾ³ý£¬ÆäÇø±ð¼òµ¥µÄ˵ÊÇǰÕßÊǰÑfind·¢ÏֵĽá¹ûÒ»´ÎÐÔ´«¸øexecÑ¡ÏÕâÑùµ±ÎļþÊýÁ¿½Ï¶àµÄʱºò£¬¾Í¿ÉÄÜ»á³öÏÖ“²ÎÊýÌ«¶à”Ö®ÀàµÄ´íÎó£¬Ïà±È½Ï¶øÑÔ£¬ºóÕ߾ͿÉÒÔ±ÜÃâÕâ¸ö´íÎó£¬ÒòΪxargsÃüÁî»á·ÖÅú´ÎµÄ´¦Àí½á¹û¡£ÕâÑù¿´À´£ ......
http://blog.csdn.net/dinitial/archive/2009/02/22/3923559.aspx
Gdb+gdbserver+insight»·¾³µÄ´î½¨
1. ÏÂÔØgdbÔ´´úÂë http://ftp.gnu.org/gnu/gdb/
2. ÅäÖð²×°gdb+gdbser
$ tar jxvf gdb-6.6.tar.bz2
$ cd x/gdb
$ ./configure --target=arm-linux --prefix ......