¡¾×ªÌû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,
Ïà¹ØÎĵµ£º
linux—selectÏê½â
selectϵͳµ÷ÓÃʱÓÃÀ´ÈÃÎÒÃǵijÌÐò¼àÊÓ¶à¸öÎļþ¾ä±úµÄ״̬±ä»¯µÄ¡£³ÌÐò»áÍ£ÔÚselectÕâÀïµÈ´ý£¬Ö±µ½±»¼àÊÓµÄÎļþ¾ä±úÓÐÒ»¸ö»ò¶à¸ö·¢ÉúÁË״̬¸Ä±ä¡£
¹ØÓÚÎļþ¾ä±ú£¬Æäʵ¾ÍÊÇÒ»¸öÕûÊý£¬Í¨¹ýsocketº¯ÊýµÄÉùÃ÷¾ÍÃ÷°×ÁË£º
int socket(int domain, int type, int protocol);
ÎÒÃÇ×îÊìϤµÄ¾ä±úÊÇ0¡¢1¡¢2 ......
¡¡¡¡»·¾³£ºCentOS 5.3 x86_64Ï£¬/dev/sdb1ΪÊý¾Ý·ÖÇø/data0£¬EXT3Îļþϵͳ¡£
¡¡¡¡Ç°Òò£ºÎóɾÁË/data0/tcsql/cankao/phpcws-1.5.0/httpcws.cppÎļþ¡£ÓÉÓÚÍüÁ˱¸·Ýhttpcws.cppÎļþ£¬ÖØÐ¿ª·¢¹¤×÷Á¿½Ï´ó£¬Òò´ËÖ»Óлָ´¸ÃÎļþÒ»Ìõ·¿É×ß¡£
¡¡¡¡debugfsÃüÁîÕë¶ÔEXT2·ÖÇø»¹ÐУ¬µ«¶ÔEXT3·ÖÇø¾Í°ï²»ÉÏæÁË¡£Å¼È»·¢ÏÖµÄÒ»¿î¿ªÔ´Èí ......
Ò»¸öСÀúÊ·½«ÓÐÖúÓÚ°ïÖúÄúÀí½â Security-Enhanced Linux£¨SELinux£©——¶øÇÒËü±¾ÉíÒ²ÊǶÎÓÐȤµÄÀúÊ·¡£
ÃÀ¹ú¹ú¼Ò°²È«¾Ö
£¨National
Security
Agency£¬NSA£©³¤Ê±¼äÒÔÀ´¾Í¹Ø×¢´ó²¿·Ö²Ù×÷ϵͳÖÐÊÜÏ޵ݲȫÄÜÁ¦¡£±Ï¾¹£¬ËûÃǵŤ×÷Ö®Ò»¾ÍÊÇҪȷ±£ÃÀ¹ú¹ú·À²¿Ê¹ÓõļÆËã»úÔÚà ......
¹ûÈ»ÊǹýÁ˺þã¬Õâ´ÎÓÖ×¼±¸¿ªÊ¼Ñ§Ï°linuxÁË¡£ÏµÍ³µÄѧϰºÍÔÚÍøÉÏÕÒµãÖ»ÑÔÆ¬ÓïµÄÁ˽â¹ûÈ»ÊDz»Ò»ÑùµÄ¡£¿´ÍêÕâµãÕ½ڣ¬×Ô¼º¾ÍÔÙ×ö×ö×ܽá°É¡£
ÎÒ´ó¸ÅÁ˽âÏÂÀ´ÊÇÕâÑùµÄ¡£¶ÔÓÚlinuxµÄÎļþϵͳÀ´Ëµ£¬ÏÂÃæÓкܶà“Îļþ”£¬ÕâЩ“Îļþ”°üÀ¨ÁËÉ豸¡¢´ÅÅÌÇý¶¯Æ÷µÈµÈ¡£±ÈÈç"\"±íʾ¸ùĿ¼£¬¶ø\userÊÇÓÃÀ´×°Õû¸ö²Ù ......
1
¡¢×ܽᱳ¾°
ÔÚ
linux
ϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ
“command not found”
µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿
PATH
µÄÉèÖÃÎÊÌ⣬¶ø
PATH
µÄÉèÖÃÒ²ÊÇÔÚ
linux
϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£ ......